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