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