1#! /bin/sh 2# Configuration validation subroutine script. 3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 5# 2011, 2012 Free Software Foundation, Inc. 6 7timestamp='2012-01-01' 8 9# This file is (in principle) common to ALL GNU software. 10# The presence of a machine in this file suggests that SOME GNU software 11# can handle that machine. It does not imply ALL GNU software can. 12# 13# This file is free software; you can redistribute it and/or modify 14# it under the terms of the GNU General Public License as published by 15# the Free Software Foundation; either version 2 of the License, or 16# (at your option) any later version. 17# 18# This program is distributed in the hope that it will be useful, 19# but WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21# GNU General Public License for more details. 22# 23# You should have received a copy of the GNU General Public License 24# along with this program; if not, write to the Free Software 25# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26# 02110-1301, USA. 27# 28# As a special exception to the GNU General Public License, if you 29# distribute this file as part of a program that contains a 30# configuration script generated by Autoconf, you may include it under 31# the same distribution terms that you use for the rest of that program. 32 33 34# Please send patches to <config-patches@gnu.org>. Submit a context 35# diff and a properly formatted GNU ChangeLog entry. 36# 37# Configuration subroutine to validate and canonicalize a configuration type. 38# Supply the specified configuration type as an argument. 39# If it is invalid, we print an error message on stderr and exit with code 1. 40# Otherwise, we print the canonical config type on stdout and succeed. 41 42# You can get the latest version of this script from: 43# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 44 45# This file is supposed to be the same for all GNU packages 46# and recognize all the CPU types, system types and aliases 47# that are meaningful with *any* GNU software. 48# Each package is responsible for reporting which valid configurations 49# it does not support. The user should be able to distinguish 50# a failure to support a valid configuration from a meaningless 51# configuration. 52 53# The goal of this file is to map all the various variations of a given 54# machine specification into a single specification in the form: 55# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56# or in some cases, the newer four-part form: 57# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58# It is wrong to echo any other type of specification. 59 60me=`echo "$0" | sed -e 's,.*/,,'` 61 62usage="\ 63Usage: $0 [OPTION] CPU-MFR-OPSYS 64 $0 [OPTION] ALIAS 65 66Canonicalize a configuration name. 67 68Operation modes: 69 -h, --help print this help, then exit 70 -t, --time-stamp print date of last modification, then exit 71 -v, --version print version number, then exit 72 73Report bugs and patches to <config-patches@gnu.org>." 74 75version="\ 76GNU config.sub ($timestamp) 77 78Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 792001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 80Free Software Foundation, Inc. 81 82This is free software; see the source for copying conditions. There is NO 83warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84 85help=" 86Try \`$me --help' for more information." 87 88# Parse command line 89while test $# -gt 0 ; do 90 case $1 in 91 --time-stamp | --time* | -t ) 92 echo "$timestamp" ; exit ;; 93 --version | -v ) 94 echo "$version" ; exit ;; 95 --help | --h* | -h ) 96 echo "$usage"; exit ;; 97 -- ) # Stop option processing 98 shift; break ;; 99 - ) # Use stdin as input. 100 break ;; 101 -* ) 102 echo "$me: invalid option $1$help" 103 exit 1 ;; 104 105 *local*) 106 # First pass through any local machine types. 107 echo $1 108 exit ;; 109 110 * ) 111 break ;; 112 esac 113done 114 115case $# in 116 0) echo "$me: missing argument$help" >&2 117 exit 1;; 118 1) ;; 119 *) echo "$me: too many arguments$help" >&2 120 exit 1;; 121esac 122 123# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124# Here we must recognize all the valid KERNEL-OS combinations. 125maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126case $maybe_os in 127 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 128 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 129 knetbsd*-gnu* | netbsd*-gnu* | \ 130 kopensolaris*-gnu* | \ 131 storm-chaos* | os2-emx* | rtmk-nova*) 132 os=-$maybe_os 133 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134 ;; 135 *) 136 basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137 if [ $basic_machine != $1 ] 138 then os=`echo $1 | sed 's/.*-/-/'` 139 else os=; fi 140 ;; 141esac 142 143### Let's recognize common machines as not being operating systems so 144### that things like config.sub decstation-3100 work. We also 145### recognize some manufacturers as not being operating systems, so we 146### can provide default operating systems below. 147case $os in 148 -sun*os*) 149 # Prevent following clause from handling this invalid input. 150 ;; 151 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 157 -apple | -axis | -knuth | -cray | -microblaze) 158 os= 159 basic_machine=$1 160 ;; 161 -bluegene*) 162 os=-cnk 163 ;; 164 -sim | -cisco | -oki | -wec | -winbond) 165 os= 166 basic_machine=$1 167 ;; 168 -scout) 169 ;; 170 -wrs) 171 os=-vxworks 172 basic_machine=$1 173 ;; 174 -chorusos*) 175 os=-chorusos 176 basic_machine=$1 177 ;; 178 -chorusrdb) 179 os=-chorusrdb 180 basic_machine=$1 181 ;; 182 -hiux*) 183 os=-hiuxwe2 184 ;; 185 -sco6) 186 os=-sco5v6 187 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188 ;; 189 -sco5) 190 os=-sco3.2v5 191 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192 ;; 193 -sco4) 194 os=-sco3.2v4 195 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196 ;; 197 -sco3.2.[4-9]*) 198 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200 ;; 201 -sco3.2v[4-9]*) 202 # Don't forget version if it is 3.2v4 or newer. 203 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204 ;; 205 -sco5v6*) 206 # Don't forget version if it is 3.2v4 or newer. 207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 208 ;; 209 -sco*) 210 os=-sco3.2v2 211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212 ;; 213 -udk*) 214 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215 ;; 216 -isc) 217 os=-isc2.2 218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219 ;; 220 -clix*) 221 basic_machine=clipper-intergraph 222 ;; 223 -isc*) 224 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225 ;; 226 -lynx*) 227 os=-lynxos 228 ;; 229 -ptx*) 230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231 ;; 232 -windowsnt*) 233 os=`echo $os | sed -e 's/windowsnt/winnt/'` 234 ;; 235 -psos*) 236 os=-psos 237 ;; 238 -mint | -mint[0-9]*) 239 basic_machine=m68k-atari 240 os=-mint 241 ;; 242esac 243 244# Decode aliases for certain CPU-COMPANY combinations. 245case $basic_machine in 246 # Recognize the basic CPU types without company name. 247 # Some are omitted here because they have special meanings below. 248 1750a | 580 \ 249 | a29k \ 250 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 252 | am33_2.0 \ 253 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 254 | be32 | be64 \ 255 | bfin \ 256 | c4x | clipper \ 257 | d10v | d30v | dlx | dsp16xx \ 258 | epiphany \ 259 | fido | fr30 | frv \ 260 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 261 | hexagon \ 262 | i370 | i860 | i960 | ia64 \ 263 | ip2k | iq2000 \ 264 | le32 | le64 \ 265 | lm32 \ 266 | m32c | m32r | m32rle | m68000 | m68k | m88k \ 267 | maxq | mb | microblaze | mcore | mep | metag \ 268 | mips | mipsbe | mipseb | mipsel | mipsle \ 269 | mips16 \ 270 | mips64 | mips64el \ 271 | mips64octeon | mips64octeonel \ 272 | mips64orion | mips64orionel \ 273 | mips64r5900 | mips64r5900el \ 274 | mips64vr | mips64vrel \ 275 | mips64vr4100 | mips64vr4100el \ 276 | mips64vr4300 | mips64vr4300el \ 277 | mips64vr5000 | mips64vr5000el \ 278 | mips64vr5900 | mips64vr5900el \ 279 | mipsisa32 | mipsisa32el \ 280 | mipsisa32r2 | mipsisa32r2el \ 281 | mipsisa64 | mipsisa64el \ 282 | mipsisa64r2 | mipsisa64r2el \ 283 | mipsisa64sb1 | mipsisa64sb1el \ 284 | mipsisa64sr71k | mipsisa64sr71kel \ 285 | mipstx39 | mipstx39el \ 286 | mn10200 | mn10300 \ 287 | moxie \ 288 | mt \ 289 | msp430 \ 290 | nds32 | nds32le | nds32be \ 291 | nios | nios2 \ 292 | ns16k | ns32k \ 293 | open8 \ 294 | or32 \ 295 | pdp10 | pdp11 | pj | pjl \ 296 | powerpc | powerpc64 | powerpc64le | powerpcle \ 297 | pyramid \ 298 | rl78 | rx \ 299 | score \ 300 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301 | sh64 | sh64le \ 302 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 303 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 304 | spu \ 305 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 306 | ubicom32 \ 307 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308 | we32k \ 309 | x86 | xc16x | xstormy16 | xtensa \ 310 | z8k | z80) 311 basic_machine=$basic_machine-unknown 312 ;; 313 c54x) 314 basic_machine=tic54x-unknown 315 ;; 316 c55x) 317 basic_machine=tic55x-unknown 318 ;; 319 c6x) 320 basic_machine=tic6x-unknown 321 ;; 322 m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323 basic_machine=$basic_machine-unknown 324 os=-none 325 ;; 326 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 327 ;; 328 ms1) 329 basic_machine=mt-unknown 330 ;; 331 332 strongarm | thumb | xscale) 333 basic_machine=arm-unknown 334 ;; 335 336 xscaleeb) 337 basic_machine=armeb-unknown 338 ;; 339 340 xscaleel) 341 basic_machine=armel-unknown 342 ;; 343 344 # We use `pc' rather than `unknown' 345 # because (1) that's what they normally are, and 346 # (2) the word "unknown" tends to confuse beginning users. 347 i*86 | x86_64) 348 basic_machine=$basic_machine-pc 349 ;; 350 # Object if more than one company name word. 351 *-*-*) 352 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 353 exit 1 354 ;; 355 # Recognize the basic CPU types with company name. 356 580-* \ 357 | a29k-* \ 358 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 359 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 360 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 361 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 362 | avr-* | avr32-* \ 363 | be32-* | be64-* \ 364 | bfin-* | bs2000-* \ 365 | c[123]* | c30-* | [cjt]90-* | c4x-* \ 366 | clipper-* | craynv-* | cydra-* \ 367 | d10v-* | d30v-* | dlx-* \ 368 | elxsi-* \ 369 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 370 | h8300-* | h8500-* \ 371 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 372 | hexagon-* \ 373 | i*86-* | i860-* | i960-* | ia64-* \ 374 | ip2k-* | iq2000-* \ 375 | le32-* | le64-* \ 376 | lm32-* \ 377 | m32c-* | m32r-* | m32rle-* \ 378 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 379 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 380 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 381 | mips16-* \ 382 | mips64-* | mips64el-* \ 383 | mips64octeon-* | mips64octeonel-* \ 384 | mips64orion-* | mips64orionel-* \ 385 | mips64r5900-* | mips64r5900el-* \ 386 | mips64vr-* | mips64vrel-* \ 387 | mips64vr4100-* | mips64vr4100el-* \ 388 | mips64vr4300-* | mips64vr4300el-* \ 389 | mips64vr5000-* | mips64vr5000el-* \ 390 | mips64vr5900-* | mips64vr5900el-* \ 391 | mipsisa32-* | mipsisa32el-* \ 392 | mipsisa32r2-* | mipsisa32r2el-* \ 393 | mipsisa64-* | mipsisa64el-* \ 394 | mipsisa64r2-* | mipsisa64r2el-* \ 395 | mipsisa64sb1-* | mipsisa64sb1el-* \ 396 | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 397 | mipstx39-* | mipstx39el-* \ 398 | mmix-* \ 399 | mt-* \ 400 | msp430-* \ 401 | nds32-* | nds32le-* | nds32be-* \ 402 | nios-* | nios2-* \ 403 | none-* | np1-* | ns16k-* | ns32k-* \ 404 | open8-* \ 405 | orion-* \ 406 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 407 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 408 | pyramid-* \ 409 | rl78-* | romp-* | rs6000-* | rx-* \ 410 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 411 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 412 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 413 | sparclite-* \ 414 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 415 | tahoe-* \ 416 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 417 | tile*-* \ 418 | tron-* \ 419 | ubicom32-* \ 420 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 421 | vax-* \ 422 | we32k-* \ 423 | x86-* | x86_64-* | xc16x-* | xps100-* \ 424 | xstormy16-* | xtensa*-* \ 425 | ymp-* \ 426 | z8k-* | z80-*) 427 ;; 428 # Recognize the basic CPU types without company name, with glob match. 429 xtensa*) 430 basic_machine=$basic_machine-unknown 431 ;; 432 # Recognize the various machine names and aliases which stand 433 # for a CPU type and a company and sometimes even an OS. 434 386bsd) 435 basic_machine=i386-unknown 436 os=-bsd 437 ;; 438 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 439 basic_machine=m68000-att 440 ;; 441 3b*) 442 basic_machine=we32k-att 443 ;; 444 a29khif) 445 basic_machine=a29k-amd 446 os=-udi 447 ;; 448 abacus) 449 basic_machine=abacus-unknown 450 ;; 451 adobe68k) 452 basic_machine=m68010-adobe 453 os=-scout 454 ;; 455 alliant | fx80) 456 basic_machine=fx80-alliant 457 ;; 458 altos | altos3068) 459 basic_machine=m68k-altos 460 ;; 461 am29k) 462 basic_machine=a29k-none 463 os=-bsd 464 ;; 465 amd64) 466 basic_machine=x86_64-pc 467 ;; 468 amd64-*) 469 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 470 ;; 471 amdahl) 472 basic_machine=580-amdahl 473 os=-sysv 474 ;; 475 amiga | amiga-*) 476 basic_machine=m68k-unknown 477 ;; 478 amigaos | amigados) 479 basic_machine=m68k-unknown 480 os=-amigaos 481 ;; 482 amigaunix | amix) 483 basic_machine=m68k-unknown 484 os=-sysv4 485 ;; 486 apollo68) 487 basic_machine=m68k-apollo 488 os=-sysv 489 ;; 490 apollo68bsd) 491 basic_machine=m68k-apollo 492 os=-bsd 493 ;; 494 aros) 495 basic_machine=i386-pc 496 os=-aros 497 ;; 498 aux) 499 basic_machine=m68k-apple 500 os=-aux 501 ;; 502 balance) 503 basic_machine=ns32k-sequent 504 os=-dynix 505 ;; 506 blackfin) 507 basic_machine=bfin-unknown 508 os=-linux 509 ;; 510 blackfin-*) 511 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 512 os=-linux 513 ;; 514 bluegene*) 515 basic_machine=powerpc-ibm 516 os=-cnk 517 ;; 518 c54x-*) 519 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 520 ;; 521 c55x-*) 522 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 523 ;; 524 c6x-*) 525 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 526 ;; 527 c90) 528 basic_machine=c90-cray 529 os=-unicos 530 ;; 531 cegcc) 532 basic_machine=arm-unknown 533 os=-cegcc 534 ;; 535 convex-c1) 536 basic_machine=c1-convex 537 os=-bsd 538 ;; 539 convex-c2) 540 basic_machine=c2-convex 541 os=-bsd 542 ;; 543 convex-c32) 544 basic_machine=c32-convex 545 os=-bsd 546 ;; 547 convex-c34) 548 basic_machine=c34-convex 549 os=-bsd 550 ;; 551 convex-c38) 552 basic_machine=c38-convex 553 os=-bsd 554 ;; 555 cray | j90) 556 basic_machine=j90-cray 557 os=-unicos 558 ;; 559 craynv) 560 basic_machine=craynv-cray 561 os=-unicosmp 562 ;; 563 cr16 | cr16-*) 564 basic_machine=cr16-unknown 565 os=-elf 566 ;; 567 crds | unos) 568 basic_machine=m68k-crds 569 ;; 570 crisv32 | crisv32-* | etraxfs*) 571 basic_machine=crisv32-axis 572 ;; 573 cris | cris-* | etrax*) 574 basic_machine=cris-axis 575 ;; 576 crx) 577 basic_machine=crx-unknown 578 os=-elf 579 ;; 580 da30 | da30-*) 581 basic_machine=m68k-da30 582 ;; 583 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 584 basic_machine=mips-dec 585 ;; 586 decsystem10* | dec10*) 587 basic_machine=pdp10-dec 588 os=-tops10 589 ;; 590 decsystem20* | dec20*) 591 basic_machine=pdp10-dec 592 os=-tops20 593 ;; 594 delta | 3300 | motorola-3300 | motorola-delta \ 595 | 3300-motorola | delta-motorola) 596 basic_machine=m68k-motorola 597 ;; 598 delta88) 599 basic_machine=m88k-motorola 600 os=-sysv3 601 ;; 602 dicos) 603 basic_machine=i686-pc 604 os=-dicos 605 ;; 606 djgpp) 607 basic_machine=i586-pc 608 os=-msdosdjgpp 609 ;; 610 dpx20 | dpx20-*) 611 basic_machine=rs6000-bull 612 os=-bosx 613 ;; 614 dpx2* | dpx2*-bull) 615 basic_machine=m68k-bull 616 os=-sysv3 617 ;; 618 ebmon29k) 619 basic_machine=a29k-amd 620 os=-ebmon 621 ;; 622 elxsi) 623 basic_machine=elxsi-elxsi 624 os=-bsd 625 ;; 626 encore | umax | mmax) 627 basic_machine=ns32k-encore 628 ;; 629 es1800 | OSE68k | ose68k | ose | OSE) 630 basic_machine=m68k-ericsson 631 os=-ose 632 ;; 633 fx2800) 634 basic_machine=i860-alliant 635 ;; 636 genix) 637 basic_machine=ns32k-ns 638 ;; 639 gmicro) 640 basic_machine=tron-gmicro 641 os=-sysv 642 ;; 643 go32) 644 basic_machine=i386-pc 645 os=-go32 646 ;; 647 h3050r* | hiux*) 648 basic_machine=hppa1.1-hitachi 649 os=-hiuxwe2 650 ;; 651 h8300hms) 652 basic_machine=h8300-hitachi 653 os=-hms 654 ;; 655 h8300xray) 656 basic_machine=h8300-hitachi 657 os=-xray 658 ;; 659 h8500hms) 660 basic_machine=h8500-hitachi 661 os=-hms 662 ;; 663 harris) 664 basic_machine=m88k-harris 665 os=-sysv3 666 ;; 667 hp300-*) 668 basic_machine=m68k-hp 669 ;; 670 hp300bsd) 671 basic_machine=m68k-hp 672 os=-bsd 673 ;; 674 hp300hpux) 675 basic_machine=m68k-hp 676 os=-hpux 677 ;; 678 hp3k9[0-9][0-9] | hp9[0-9][0-9]) 679 basic_machine=hppa1.0-hp 680 ;; 681 hp9k2[0-9][0-9] | hp9k31[0-9]) 682 basic_machine=m68000-hp 683 ;; 684 hp9k3[2-9][0-9]) 685 basic_machine=m68k-hp 686 ;; 687 hp9k6[0-9][0-9] | hp6[0-9][0-9]) 688 basic_machine=hppa1.0-hp 689 ;; 690 hp9k7[0-79][0-9] | hp7[0-79][0-9]) 691 basic_machine=hppa1.1-hp 692 ;; 693 hp9k78[0-9] | hp78[0-9]) 694 # FIXME: really hppa2.0-hp 695 basic_machine=hppa1.1-hp 696 ;; 697 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 698 # FIXME: really hppa2.0-hp 699 basic_machine=hppa1.1-hp 700 ;; 701 hp9k8[0-9][13679] | hp8[0-9][13679]) 702 basic_machine=hppa1.1-hp 703 ;; 704 hp9k8[0-9][0-9] | hp8[0-9][0-9]) 705 basic_machine=hppa1.0-hp 706 ;; 707 hppa-next) 708 os=-nextstep3 709 ;; 710 hppaosf) 711 basic_machine=hppa1.1-hp 712 os=-osf 713 ;; 714 hppro) 715 basic_machine=hppa1.1-hp 716 os=-proelf 717 ;; 718 i370-ibm* | ibm*) 719 basic_machine=i370-ibm 720 ;; 721 i*86v32) 722 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 723 os=-sysv32 724 ;; 725 i*86v4*) 726 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 727 os=-sysv4 728 ;; 729 i*86v) 730 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 731 os=-sysv 732 ;; 733 i*86sol2) 734 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 735 os=-solaris2 736 ;; 737 i386mach) 738 basic_machine=i386-mach 739 os=-mach 740 ;; 741 i386-vsta | vsta) 742 basic_machine=i386-unknown 743 os=-vsta 744 ;; 745 iris | iris4d) 746 basic_machine=mips-sgi 747 case $os in 748 -irix*) 749 ;; 750 *) 751 os=-irix4 752 ;; 753 esac 754 ;; 755 isi68 | isi) 756 basic_machine=m68k-isi 757 os=-sysv 758 ;; 759 m68knommu) 760 basic_machine=m68k-unknown 761 os=-linux 762 ;; 763 m68knommu-*) 764 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 765 os=-linux 766 ;; 767 m88k-omron*) 768 basic_machine=m88k-omron 769 ;; 770 magnum | m3230) 771 basic_machine=mips-mips 772 os=-sysv 773 ;; 774 merlin) 775 basic_machine=ns32k-utek 776 os=-sysv 777 ;; 778 microblaze) 779 basic_machine=microblaze-xilinx 780 ;; 781 mingw32) 782 basic_machine=i386-pc 783 os=-mingw32 784 ;; 785 mingw32ce) 786 basic_machine=arm-unknown 787 os=-mingw32ce 788 ;; 789 miniframe) 790 basic_machine=m68000-convergent 791 ;; 792 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 793 basic_machine=m68k-atari 794 os=-mint 795 ;; 796 mips3*-*) 797 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 798 ;; 799 mips3*) 800 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 801 ;; 802 monitor) 803 basic_machine=m68k-rom68k 804 os=-coff 805 ;; 806 morphos) 807 basic_machine=powerpc-unknown 808 os=-morphos 809 ;; 810 msdos) 811 basic_machine=i386-pc 812 os=-msdos 813 ;; 814 ms1-*) 815 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 816 ;; 817 msys) 818 basic_machine=i386-pc 819 os=-msys 820 ;; 821 mvs) 822 basic_machine=i370-ibm 823 os=-mvs 824 ;; 825 nacl) 826 basic_machine=le32-unknown 827 os=-nacl 828 ;; 829 ncr3000) 830 basic_machine=i486-ncr 831 os=-sysv4 832 ;; 833 netbsd386) 834 basic_machine=i386-unknown 835 os=-netbsd 836 ;; 837 netwinder) 838 basic_machine=armv4l-rebel 839 os=-linux 840 ;; 841 news | news700 | news800 | news900) 842 basic_machine=m68k-sony 843 os=-newsos 844 ;; 845 news1000) 846 basic_machine=m68030-sony 847 os=-newsos 848 ;; 849 news-3600 | risc-news) 850 basic_machine=mips-sony 851 os=-newsos 852 ;; 853 necv70) 854 basic_machine=v70-nec 855 os=-sysv 856 ;; 857 next | m*-next ) 858 basic_machine=m68k-next 859 case $os in 860 -nextstep* ) 861 ;; 862 -ns2*) 863 os=-nextstep2 864 ;; 865 *) 866 os=-nextstep3 867 ;; 868 esac 869 ;; 870 nh3000) 871 basic_machine=m68k-harris 872 os=-cxux 873 ;; 874 nh[45]000) 875 basic_machine=m88k-harris 876 os=-cxux 877 ;; 878 nindy960) 879 basic_machine=i960-intel 880 os=-nindy 881 ;; 882 mon960) 883 basic_machine=i960-intel 884 os=-mon960 885 ;; 886 nonstopux) 887 basic_machine=mips-compaq 888 os=-nonstopux 889 ;; 890 np1) 891 basic_machine=np1-gould 892 ;; 893 neo-tandem) 894 basic_machine=neo-tandem 895 ;; 896 nse-tandem) 897 basic_machine=nse-tandem 898 ;; 899 nsr-tandem) 900 basic_machine=nsr-tandem 901 ;; 902 op50n-* | op60c-*) 903 basic_machine=hppa1.1-oki 904 os=-proelf 905 ;; 906 openrisc | openrisc-*) 907 basic_machine=or32-unknown 908 ;; 909 os400) 910 basic_machine=powerpc-ibm 911 os=-os400 912 ;; 913 OSE68000 | ose68000) 914 basic_machine=m68000-ericsson 915 os=-ose 916 ;; 917 os68k) 918 basic_machine=m68k-none 919 os=-os68k 920 ;; 921 pa-hitachi) 922 basic_machine=hppa1.1-hitachi 923 os=-hiuxwe2 924 ;; 925 paragon) 926 basic_machine=i860-intel 927 os=-osf 928 ;; 929 parisc) 930 basic_machine=hppa-unknown 931 os=-linux 932 ;; 933 parisc-*) 934 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 935 os=-linux 936 ;; 937 pbd) 938 basic_machine=sparc-tti 939 ;; 940 pbb) 941 basic_machine=m68k-tti 942 ;; 943 pc532 | pc532-*) 944 basic_machine=ns32k-pc532 945 ;; 946 pc98) 947 basic_machine=i386-pc 948 ;; 949 pc98-*) 950 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 951 ;; 952 pentium | p5 | k5 | k6 | nexgen | viac3) 953 basic_machine=i586-pc 954 ;; 955 pentiumpro | p6 | 6x86 | athlon | athlon_*) 956 basic_machine=i686-pc 957 ;; 958 pentiumii | pentium2 | pentiumiii | pentium3) 959 basic_machine=i686-pc 960 ;; 961 pentium4) 962 basic_machine=i786-pc 963 ;; 964 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 965 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 966 ;; 967 pentiumpro-* | p6-* | 6x86-* | athlon-*) 968 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 969 ;; 970 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 971 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 972 ;; 973 pentium4-*) 974 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 975 ;; 976 pn) 977 basic_machine=pn-gould 978 ;; 979 power) basic_machine=power-ibm 980 ;; 981 ppc | ppcbe) basic_machine=powerpc-unknown 982 ;; 983 ppc-* | ppcbe-*) 984 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 985 ;; 986 ppcle | powerpclittle | ppc-le | powerpc-little) 987 basic_machine=powerpcle-unknown 988 ;; 989 ppcle-* | powerpclittle-*) 990 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 991 ;; 992 ppc64) basic_machine=powerpc64-unknown 993 ;; 994 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 995 ;; 996 ppc64le | powerpc64little | ppc64-le | powerpc64-little) 997 basic_machine=powerpc64le-unknown 998 ;; 999 ppc64le-* | powerpc64little-*) 1000 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1001 ;; 1002 ps2) 1003 basic_machine=i386-ibm 1004 ;; 1005 pw32) 1006 basic_machine=i586-unknown 1007 os=-pw32 1008 ;; 1009 rdos) 1010 basic_machine=i386-pc 1011 os=-rdos 1012 ;; 1013 rom68k) 1014 basic_machine=m68k-rom68k 1015 os=-coff 1016 ;; 1017 rm[46]00) 1018 basic_machine=mips-siemens 1019 ;; 1020 rtpc | rtpc-*) 1021 basic_machine=romp-ibm 1022 ;; 1023 s390 | s390-*) 1024 basic_machine=s390-ibm 1025 ;; 1026 s390x | s390x-*) 1027 basic_machine=s390x-ibm 1028 ;; 1029 sa29200) 1030 basic_machine=a29k-amd 1031 os=-udi 1032 ;; 1033 sb1) 1034 basic_machine=mipsisa64sb1-unknown 1035 ;; 1036 sb1el) 1037 basic_machine=mipsisa64sb1el-unknown 1038 ;; 1039 sde) 1040 basic_machine=mipsisa32-sde 1041 os=-elf 1042 ;; 1043 sei) 1044 basic_machine=mips-sei 1045 os=-seiux 1046 ;; 1047 sequent) 1048 basic_machine=i386-sequent 1049 ;; 1050 sh) 1051 basic_machine=sh-hitachi 1052 os=-hms 1053 ;; 1054 sh5el) 1055 basic_machine=sh5le-unknown 1056 ;; 1057 sh64) 1058 basic_machine=sh64-unknown 1059 ;; 1060 sparclite-wrs | simso-wrs) 1061 basic_machine=sparclite-wrs 1062 os=-vxworks 1063 ;; 1064 sps7) 1065 basic_machine=m68k-bull 1066 os=-sysv2 1067 ;; 1068 spur) 1069 basic_machine=spur-unknown 1070 ;; 1071 st2000) 1072 basic_machine=m68k-tandem 1073 ;; 1074 stratus) 1075 basic_machine=i860-stratus 1076 os=-sysv4 1077 ;; 1078 strongarm-* | thumb-*) 1079 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1080 ;; 1081 sun2) 1082 basic_machine=m68000-sun 1083 ;; 1084 sun2os3) 1085 basic_machine=m68000-sun 1086 os=-sunos3 1087 ;; 1088 sun2os4) 1089 basic_machine=m68000-sun 1090 os=-sunos4 1091 ;; 1092 sun3os3) 1093 basic_machine=m68k-sun 1094 os=-sunos3 1095 ;; 1096 sun3os4) 1097 basic_machine=m68k-sun 1098 os=-sunos4 1099 ;; 1100 sun4os3) 1101 basic_machine=sparc-sun 1102 os=-sunos3 1103 ;; 1104 sun4os4) 1105 basic_machine=sparc-sun 1106 os=-sunos4 1107 ;; 1108 sun4sol2) 1109 basic_machine=sparc-sun 1110 os=-solaris2 1111 ;; 1112 sun3 | sun3-*) 1113 basic_machine=m68k-sun 1114 ;; 1115 sun4) 1116 basic_machine=sparc-sun 1117 ;; 1118 sun386 | sun386i | roadrunner) 1119 basic_machine=i386-sun 1120 ;; 1121 sv1) 1122 basic_machine=sv1-cray 1123 os=-unicos 1124 ;; 1125 symmetry) 1126 basic_machine=i386-sequent 1127 os=-dynix 1128 ;; 1129 t3e) 1130 basic_machine=alphaev5-cray 1131 os=-unicos 1132 ;; 1133 t90) 1134 basic_machine=t90-cray 1135 os=-unicos 1136 ;; 1137 tile*) 1138 basic_machine=$basic_machine-unknown 1139 os=-linux-gnu 1140 ;; 1141 tx39) 1142 basic_machine=mipstx39-unknown 1143 ;; 1144 tx39el) 1145 basic_machine=mipstx39el-unknown 1146 ;; 1147 toad1) 1148 basic_machine=pdp10-xkl 1149 os=-tops20 1150 ;; 1151 tower | tower-32) 1152 basic_machine=m68k-ncr 1153 ;; 1154 tpf) 1155 basic_machine=s390x-ibm 1156 os=-tpf 1157 ;; 1158 udi29k) 1159 basic_machine=a29k-amd 1160 os=-udi 1161 ;; 1162 ultra3) 1163 basic_machine=a29k-nyu 1164 os=-sym1 1165 ;; 1166 v810 | necv810) 1167 basic_machine=v810-nec 1168 os=-none 1169 ;; 1170 vaxv) 1171 basic_machine=vax-dec 1172 os=-sysv 1173 ;; 1174 vms) 1175 basic_machine=vax-dec 1176 os=-vms 1177 ;; 1178 vpp*|vx|vx-*) 1179 basic_machine=f301-fujitsu 1180 ;; 1181 vxworks960) 1182 basic_machine=i960-wrs 1183 os=-vxworks 1184 ;; 1185 vxworks68) 1186 basic_machine=m68k-wrs 1187 os=-vxworks 1188 ;; 1189 vxworks29k) 1190 basic_machine=a29k-wrs 1191 os=-vxworks 1192 ;; 1193 w65*) 1194 basic_machine=w65-wdc 1195 os=-none 1196 ;; 1197 w89k-*) 1198 basic_machine=hppa1.1-winbond 1199 os=-proelf 1200 ;; 1201 xbox) 1202 basic_machine=i686-pc 1203 os=-mingw32 1204 ;; 1205 xps | xps100) 1206 basic_machine=xps100-honeywell 1207 ;; 1208 xscale-* | xscalee[bl]-*) 1209 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1210 ;; 1211 ymp) 1212 basic_machine=ymp-cray 1213 os=-unicos 1214 ;; 1215 z8k-*-coff) 1216 basic_machine=z8k-unknown 1217 os=-sim 1218 ;; 1219 z80-*-coff) 1220 basic_machine=z80-unknown 1221 os=-sim 1222 ;; 1223 none) 1224 basic_machine=none-none 1225 os=-none 1226 ;; 1227 1228# Here we handle the default manufacturer of certain CPU types. It is in 1229# some cases the only manufacturer, in others, it is the most popular. 1230 w89k) 1231 basic_machine=hppa1.1-winbond 1232 ;; 1233 op50n) 1234 basic_machine=hppa1.1-oki 1235 ;; 1236 op60c) 1237 basic_machine=hppa1.1-oki 1238 ;; 1239 romp) 1240 basic_machine=romp-ibm 1241 ;; 1242 mmix) 1243 basic_machine=mmix-knuth 1244 ;; 1245 rs6000) 1246 basic_machine=rs6000-ibm 1247 ;; 1248 vax) 1249 basic_machine=vax-dec 1250 ;; 1251 pdp10) 1252 # there are many clones, so DEC is not a safe bet 1253 basic_machine=pdp10-unknown 1254 ;; 1255 pdp11) 1256 basic_machine=pdp11-dec 1257 ;; 1258 we32k) 1259 basic_machine=we32k-att 1260 ;; 1261 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1262 basic_machine=sh-unknown 1263 ;; 1264 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1265 basic_machine=sparc-sun 1266 ;; 1267 cydra) 1268 basic_machine=cydra-cydrome 1269 ;; 1270 orion) 1271 basic_machine=orion-highlevel 1272 ;; 1273 orion105) 1274 basic_machine=clipper-highlevel 1275 ;; 1276 mac | mpw | mac-mpw) 1277 basic_machine=m68k-apple 1278 ;; 1279 pmac | pmac-mpw) 1280 basic_machine=powerpc-apple 1281 ;; 1282 *-unknown) 1283 # Make sure to match an already-canonicalized machine name. 1284 ;; 1285 *) 1286 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1287 exit 1 1288 ;; 1289esac 1290 1291# Here we canonicalize certain aliases for manufacturers. 1292case $basic_machine in 1293 *-digital*) 1294 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1295 ;; 1296 *-commodore*) 1297 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1298 ;; 1299 *) 1300 ;; 1301esac 1302 1303# Decode manufacturer-specific aliases for certain operating systems. 1304 1305if [ x"$os" != x"" ] 1306then 1307case $os in 1308 # First match some system type aliases 1309 # that might get confused with valid system types. 1310 # -solaris* is a basic system type, with this one exception. 1311 -auroraux) 1312 os=-auroraux 1313 ;; 1314 -solaris1 | -solaris1.*) 1315 os=`echo $os | sed -e 's|solaris1|sunos4|'` 1316 ;; 1317 -solaris) 1318 os=-solaris2 1319 ;; 1320 -svr4*) 1321 os=-sysv4 1322 ;; 1323 -unixware*) 1324 os=-sysv4.2uw 1325 ;; 1326 -gnu/linux*) 1327 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1328 ;; 1329 # First accept the basic system types. 1330 # The portable systems comes first. 1331 # Each alternative MUST END IN A *, to match a version number. 1332 # -sysv* is not here because it comes later, after sysvr4. 1333 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1334 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1335 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1336 | -sym* | -kopensolaris* \ 1337 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1338 | -aos* | -aros* \ 1339 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1340 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1341 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1342 | -openbsd* | -solidbsd* \ 1343 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1344 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1345 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1346 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1347 | -chorusos* | -chorusrdb* | -cegcc* \ 1348 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1349 | -mingw32* | -linux-gnu* | -linux-android* \ 1350 | -linux-newlib* | -linux-uclibc* \ 1351 | -uxpv* | -beos* | -mpeix* | -udk* \ 1352 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1353 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1354 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1355 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1356 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1357 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1358 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1359 # Remember, each alternative MUST END IN *, to match a version number. 1360 ;; 1361 -qnx*) 1362 case $basic_machine in 1363 x86-* | i*86-*) 1364 ;; 1365 *) 1366 os=-nto$os 1367 ;; 1368 esac 1369 ;; 1370 -nto-qnx*) 1371 ;; 1372 -nto*) 1373 os=`echo $os | sed -e 's|nto|nto-qnx|'` 1374 ;; 1375 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1376 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1377 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1378 ;; 1379 -mac*) 1380 os=`echo $os | sed -e 's|mac|macos|'` 1381 ;; 1382 -linux-dietlibc) 1383 os=-linux-dietlibc 1384 ;; 1385 -linux*) 1386 os=`echo $os | sed -e 's|linux|linux-gnu|'` 1387 ;; 1388 -sunos5*) 1389 os=`echo $os | sed -e 's|sunos5|solaris2|'` 1390 ;; 1391 -sunos6*) 1392 os=`echo $os | sed -e 's|sunos6|solaris3|'` 1393 ;; 1394 -opened*) 1395 os=-openedition 1396 ;; 1397 -os400*) 1398 os=-os400 1399 ;; 1400 -wince*) 1401 os=-wince 1402 ;; 1403 -osfrose*) 1404 os=-osfrose 1405 ;; 1406 -osf*) 1407 os=-osf 1408 ;; 1409 -utek*) 1410 os=-bsd 1411 ;; 1412 -dynix*) 1413 os=-bsd 1414 ;; 1415 -acis*) 1416 os=-aos 1417 ;; 1418 -atheos*) 1419 os=-atheos 1420 ;; 1421 -syllable*) 1422 os=-syllable 1423 ;; 1424 -386bsd) 1425 os=-bsd 1426 ;; 1427 -ctix* | -uts*) 1428 os=-sysv 1429 ;; 1430 -nova*) 1431 os=-rtmk-nova 1432 ;; 1433 -ns2 ) 1434 os=-nextstep2 1435 ;; 1436 -nsk*) 1437 os=-nsk 1438 ;; 1439 # Preserve the version number of sinix5. 1440 -sinix5.*) 1441 os=`echo $os | sed -e 's|sinix|sysv|'` 1442 ;; 1443 -sinix*) 1444 os=-sysv4 1445 ;; 1446 -tpf*) 1447 os=-tpf 1448 ;; 1449 -triton*) 1450 os=-sysv3 1451 ;; 1452 -oss*) 1453 os=-sysv3 1454 ;; 1455 -svr4) 1456 os=-sysv4 1457 ;; 1458 -svr3) 1459 os=-sysv3 1460 ;; 1461 -sysvr4) 1462 os=-sysv4 1463 ;; 1464 # This must come after -sysvr4. 1465 -sysv*) 1466 ;; 1467 -ose*) 1468 os=-ose 1469 ;; 1470 -es1800*) 1471 os=-ose 1472 ;; 1473 -xenix) 1474 os=-xenix 1475 ;; 1476 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1477 os=-mint 1478 ;; 1479 -aros*) 1480 os=-aros 1481 ;; 1482 -kaos*) 1483 os=-kaos 1484 ;; 1485 -zvmoe) 1486 os=-zvmoe 1487 ;; 1488 -dicos*) 1489 os=-dicos 1490 ;; 1491 -nacl*) 1492 ;; 1493 -none) 1494 ;; 1495 *) 1496 # Get rid of the `-' at the beginning of $os. 1497 os=`echo $os | sed 's/[^-]*-//'` 1498 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1499 exit 1 1500 ;; 1501esac 1502else 1503 1504# Here we handle the default operating systems that come with various machines. 1505# The value should be what the vendor currently ships out the door with their 1506# machine or put another way, the most popular os provided with the machine. 1507 1508# Note that if you're going to try to match "-MANUFACTURER" here (say, 1509# "-sun"), then you have to tell the case statement up towards the top 1510# that MANUFACTURER isn't an operating system. Otherwise, code above 1511# will signal an error saying that MANUFACTURER isn't an operating 1512# system, and we'll never get to this point. 1513 1514case $basic_machine in 1515 score-*) 1516 os=-elf 1517 ;; 1518 spu-*) 1519 os=-elf 1520 ;; 1521 *-acorn) 1522 os=-riscix1.2 1523 ;; 1524 arm*-rebel) 1525 os=-linux 1526 ;; 1527 arm*-semi) 1528 os=-aout 1529 ;; 1530 c4x-* | tic4x-*) 1531 os=-coff 1532 ;; 1533 tic54x-*) 1534 os=-coff 1535 ;; 1536 tic55x-*) 1537 os=-coff 1538 ;; 1539 tic6x-*) 1540 os=-coff 1541 ;; 1542 # This must come before the *-dec entry. 1543 pdp10-*) 1544 os=-tops20 1545 ;; 1546 pdp11-*) 1547 os=-none 1548 ;; 1549 *-dec | vax-*) 1550 os=-ultrix4.2 1551 ;; 1552 m68*-apollo) 1553 os=-domain 1554 ;; 1555 i386-sun) 1556 os=-sunos4.0.2 1557 ;; 1558 m68000-sun) 1559 os=-sunos3 1560 ;; 1561 m68*-cisco) 1562 os=-aout 1563 ;; 1564 mep-*) 1565 os=-elf 1566 ;; 1567 mips*-cisco) 1568 os=-elf 1569 ;; 1570 mips*-*) 1571 os=-elf 1572 ;; 1573 or32-*) 1574 os=-coff 1575 ;; 1576 *-tti) # must be before sparc entry or we get the wrong os. 1577 os=-sysv3 1578 ;; 1579 sparc-* | *-sun) 1580 os=-sunos4.1.1 1581 ;; 1582 *-be) 1583 os=-beos 1584 ;; 1585 *-haiku) 1586 os=-haiku 1587 ;; 1588 *-ibm) 1589 os=-aix 1590 ;; 1591 *-knuth) 1592 os=-mmixware 1593 ;; 1594 *-wec) 1595 os=-proelf 1596 ;; 1597 *-winbond) 1598 os=-proelf 1599 ;; 1600 *-oki) 1601 os=-proelf 1602 ;; 1603 *-hp) 1604 os=-hpux 1605 ;; 1606 *-hitachi) 1607 os=-hiux 1608 ;; 1609 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1610 os=-sysv 1611 ;; 1612 *-cbm) 1613 os=-amigaos 1614 ;; 1615 *-dg) 1616 os=-dgux 1617 ;; 1618 *-dolphin) 1619 os=-sysv3 1620 ;; 1621 m68k-ccur) 1622 os=-rtu 1623 ;; 1624 m88k-omron*) 1625 os=-luna 1626 ;; 1627 *-next ) 1628 os=-nextstep 1629 ;; 1630 *-sequent) 1631 os=-ptx 1632 ;; 1633 *-crds) 1634 os=-unos 1635 ;; 1636 *-ns) 1637 os=-genix 1638 ;; 1639 i370-*) 1640 os=-mvs 1641 ;; 1642 *-next) 1643 os=-nextstep3 1644 ;; 1645 *-gould) 1646 os=-sysv 1647 ;; 1648 *-highlevel) 1649 os=-bsd 1650 ;; 1651 *-encore) 1652 os=-bsd 1653 ;; 1654 *-sgi) 1655 os=-irix 1656 ;; 1657 *-siemens) 1658 os=-sysv4 1659 ;; 1660 *-masscomp) 1661 os=-rtu 1662 ;; 1663 f30[01]-fujitsu | f700-fujitsu) 1664 os=-uxpv 1665 ;; 1666 *-rom68k) 1667 os=-coff 1668 ;; 1669 *-*bug) 1670 os=-coff 1671 ;; 1672 *-apple) 1673 os=-macos 1674 ;; 1675 *-atari*) 1676 os=-mint 1677 ;; 1678 *) 1679 os=-none 1680 ;; 1681esac 1682fi 1683 1684# Here we handle the case where we know the os, and the CPU type, but not the 1685# manufacturer. We pick the logical manufacturer. 1686vendor=unknown 1687case $basic_machine in 1688 *-unknown) 1689 case $os in 1690 -riscix*) 1691 vendor=acorn 1692 ;; 1693 -sunos*) 1694 vendor=sun 1695 ;; 1696 -cnk*|-aix*) 1697 vendor=ibm 1698 ;; 1699 -beos*) 1700 vendor=be 1701 ;; 1702 -hpux*) 1703 vendor=hp 1704 ;; 1705 -mpeix*) 1706 vendor=hp 1707 ;; 1708 -hiux*) 1709 vendor=hitachi 1710 ;; 1711 -unos*) 1712 vendor=crds 1713 ;; 1714 -dgux*) 1715 vendor=dg 1716 ;; 1717 -luna*) 1718 vendor=omron 1719 ;; 1720 -genix*) 1721 vendor=ns 1722 ;; 1723 -mvs* | -opened*) 1724 vendor=ibm 1725 ;; 1726 -os400*) 1727 vendor=ibm 1728 ;; 1729 -ptx*) 1730 vendor=sequent 1731 ;; 1732 -tpf*) 1733 vendor=ibm 1734 ;; 1735 -vxsim* | -vxworks* | -windiss*) 1736 vendor=wrs 1737 ;; 1738 -aux*) 1739 vendor=apple 1740 ;; 1741 -hms*) 1742 vendor=hitachi 1743 ;; 1744 -mpw* | -macos*) 1745 vendor=apple 1746 ;; 1747 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1748 vendor=atari 1749 ;; 1750 -vos*) 1751 vendor=stratus 1752 ;; 1753 esac 1754 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1755 ;; 1756esac 1757 1758echo $basic_machine$os 1759exit 1760 1761# Local variables: 1762# eval: (add-hook 'write-file-hooks 'time-stamp) 1763# time-stamp-start: "timestamp='" 1764# time-stamp-format: "%:y-%02m-%02d" 1765# time-stamp-end: "'" 1766# End: 1767