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 \ 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 mips3*-*) 814 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 815 ;; 816 mips3*) 817 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 818 ;; 819 monitor) 820 basic_machine=m68k-rom68k 821 os=-coff 822 ;; 823 morphos) 824 basic_machine=powerpc-unknown 825 os=-morphos 826 ;; 827 msdos) 828 basic_machine=i386-pc 829 os=-msdos 830 ;; 831 ms1-*) 832 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 833 ;; 834 msys) 835 basic_machine=i386-pc 836 os=-msys 837 ;; 838 mvs) 839 basic_machine=i370-ibm 840 os=-mvs 841 ;; 842 nacl) 843 basic_machine=le32-unknown 844 os=-nacl 845 ;; 846 ncr3000) 847 basic_machine=i486-ncr 848 os=-sysv4 849 ;; 850 netbsd386) 851 basic_machine=i386-unknown 852 os=-netbsd 853 ;; 854 netwinder) 855 basic_machine=armv4l-rebel 856 os=-linux 857 ;; 858 news | news700 | news800 | news900) 859 basic_machine=m68k-sony 860 os=-newsos 861 ;; 862 news1000) 863 basic_machine=m68030-sony 864 os=-newsos 865 ;; 866 news-3600 | risc-news) 867 basic_machine=mips-sony 868 os=-newsos 869 ;; 870 necv70) 871 basic_machine=v70-nec 872 os=-sysv 873 ;; 874 next | m*-next ) 875 basic_machine=m68k-next 876 case $os in 877 -nextstep* ) 878 ;; 879 -ns2*) 880 os=-nextstep2 881 ;; 882 *) 883 os=-nextstep3 884 ;; 885 esac 886 ;; 887 nh3000) 888 basic_machine=m68k-harris 889 os=-cxux 890 ;; 891 nh[45]000) 892 basic_machine=m88k-harris 893 os=-cxux 894 ;; 895 nindy960) 896 basic_machine=i960-intel 897 os=-nindy 898 ;; 899 mon960) 900 basic_machine=i960-intel 901 os=-mon960 902 ;; 903 nonstopux) 904 basic_machine=mips-compaq 905 os=-nonstopux 906 ;; 907 np1) 908 basic_machine=np1-gould 909 ;; 910 neo-tandem) 911 basic_machine=neo-tandem 912 ;; 913 nse-tandem) 914 basic_machine=nse-tandem 915 ;; 916 nsr-tandem) 917 basic_machine=nsr-tandem 918 ;; 919 op50n-* | op60c-*) 920 basic_machine=hppa1.1-oki 921 os=-proelf 922 ;; 923 openrisc | openrisc-*) 924 basic_machine=or32-unknown 925 ;; 926 os400) 927 basic_machine=powerpc-ibm 928 os=-os400 929 ;; 930 OSE68000 | ose68000) 931 basic_machine=m68000-ericsson 932 os=-ose 933 ;; 934 os68k) 935 basic_machine=m68k-none 936 os=-os68k 937 ;; 938 pa-hitachi) 939 basic_machine=hppa1.1-hitachi 940 os=-hiuxwe2 941 ;; 942 paragon) 943 basic_machine=i860-intel 944 os=-osf 945 ;; 946 parisc) 947 basic_machine=hppa-unknown 948 os=-linux 949 ;; 950 parisc-*) 951 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 952 os=-linux 953 ;; 954 pbd) 955 basic_machine=sparc-tti 956 ;; 957 pbb) 958 basic_machine=m68k-tti 959 ;; 960 pc532 | pc532-*) 961 basic_machine=ns32k-pc532 962 ;; 963 pc98) 964 basic_machine=i386-pc 965 ;; 966 pc98-*) 967 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 968 ;; 969 pentium | p5 | k5 | k6 | nexgen | viac3) 970 basic_machine=i586-pc 971 ;; 972 pentiumpro | p6 | 6x86 | athlon | athlon_*) 973 basic_machine=i686-pc 974 ;; 975 pentiumii | pentium2 | pentiumiii | pentium3) 976 basic_machine=i686-pc 977 ;; 978 pentium4) 979 basic_machine=i786-pc 980 ;; 981 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 982 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 983 ;; 984 pentiumpro-* | p6-* | 6x86-* | athlon-*) 985 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 986 ;; 987 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 988 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 989 ;; 990 pentium4-*) 991 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 992 ;; 993 pn) 994 basic_machine=pn-gould 995 ;; 996 power) basic_machine=power-ibm 997 ;; 998 ppc | ppcbe) basic_machine=powerpc-unknown 999 ;; 1000 ppc-* | ppcbe-*) 1001 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1002 ;; 1003 ppcle | powerpclittle | ppc-le | powerpc-little) 1004 basic_machine=powerpcle-unknown 1005 ;; 1006 ppcle-* | powerpclittle-*) 1007 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1008 ;; 1009 ppc64) basic_machine=powerpc64-unknown 1010 ;; 1011 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1012 ;; 1013 ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1014 basic_machine=powerpc64le-unknown 1015 ;; 1016 ppc64le-* | powerpc64little-*) 1017 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1018 ;; 1019 ps2) 1020 basic_machine=i386-ibm 1021 ;; 1022 pw32) 1023 basic_machine=i586-unknown 1024 os=-pw32 1025 ;; 1026 rdos) 1027 basic_machine=i386-pc 1028 os=-rdos 1029 ;; 1030 rom68k) 1031 basic_machine=m68k-rom68k 1032 os=-coff 1033 ;; 1034 rm[46]00) 1035 basic_machine=mips-siemens 1036 ;; 1037 rtpc | rtpc-*) 1038 basic_machine=romp-ibm 1039 ;; 1040 s390 | s390-*) 1041 basic_machine=s390-ibm 1042 ;; 1043 s390x | s390x-*) 1044 basic_machine=s390x-ibm 1045 ;; 1046 sa29200) 1047 basic_machine=a29k-amd 1048 os=-udi 1049 ;; 1050 sb1) 1051 basic_machine=mipsisa64sb1-unknown 1052 ;; 1053 sb1el) 1054 basic_machine=mipsisa64sb1el-unknown 1055 ;; 1056 sde) 1057 basic_machine=mipsisa32-sde 1058 os=-elf 1059 ;; 1060 sei) 1061 basic_machine=mips-sei 1062 os=-seiux 1063 ;; 1064 sequent) 1065 basic_machine=i386-sequent 1066 ;; 1067 sh) 1068 basic_machine=sh-hitachi 1069 os=-hms 1070 ;; 1071 sh5el) 1072 basic_machine=sh5le-unknown 1073 ;; 1074 sh64) 1075 basic_machine=sh64-unknown 1076 ;; 1077 sparclite-wrs | simso-wrs) 1078 basic_machine=sparclite-wrs 1079 os=-vxworks 1080 ;; 1081 sps7) 1082 basic_machine=m68k-bull 1083 os=-sysv2 1084 ;; 1085 spur) 1086 basic_machine=spur-unknown 1087 ;; 1088 st2000) 1089 basic_machine=m68k-tandem 1090 ;; 1091 stratus) 1092 basic_machine=i860-stratus 1093 os=-sysv4 1094 ;; 1095 strongarm-* | thumb-*) 1096 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1097 ;; 1098 sun2) 1099 basic_machine=m68000-sun 1100 ;; 1101 sun2os3) 1102 basic_machine=m68000-sun 1103 os=-sunos3 1104 ;; 1105 sun2os4) 1106 basic_machine=m68000-sun 1107 os=-sunos4 1108 ;; 1109 sun3os3) 1110 basic_machine=m68k-sun 1111 os=-sunos3 1112 ;; 1113 sun3os4) 1114 basic_machine=m68k-sun 1115 os=-sunos4 1116 ;; 1117 sun4os3) 1118 basic_machine=sparc-sun 1119 os=-sunos3 1120 ;; 1121 sun4os4) 1122 basic_machine=sparc-sun 1123 os=-sunos4 1124 ;; 1125 sun4sol2) 1126 basic_machine=sparc-sun 1127 os=-solaris2 1128 ;; 1129 sun3 | sun3-*) 1130 basic_machine=m68k-sun 1131 ;; 1132 sun4) 1133 basic_machine=sparc-sun 1134 ;; 1135 sun386 | sun386i | roadrunner) 1136 basic_machine=i386-sun 1137 ;; 1138 sv1) 1139 basic_machine=sv1-cray 1140 os=-unicos 1141 ;; 1142 symmetry) 1143 basic_machine=i386-sequent 1144 os=-dynix 1145 ;; 1146 t3e) 1147 basic_machine=alphaev5-cray 1148 os=-unicos 1149 ;; 1150 t90) 1151 basic_machine=t90-cray 1152 os=-unicos 1153 ;; 1154 tile*) 1155 basic_machine=$basic_machine-unknown 1156 os=-linux-gnu 1157 ;; 1158 tx39) 1159 basic_machine=mipstx39-unknown 1160 ;; 1161 tx39el) 1162 basic_machine=mipstx39el-unknown 1163 ;; 1164 toad1) 1165 basic_machine=pdp10-xkl 1166 os=-tops20 1167 ;; 1168 tower | tower-32) 1169 basic_machine=m68k-ncr 1170 ;; 1171 tpf) 1172 basic_machine=s390x-ibm 1173 os=-tpf 1174 ;; 1175 udi29k) 1176 basic_machine=a29k-amd 1177 os=-udi 1178 ;; 1179 ultra3) 1180 basic_machine=a29k-nyu 1181 os=-sym1 1182 ;; 1183 v810 | necv810) 1184 basic_machine=v810-nec 1185 os=-none 1186 ;; 1187 vaxv) 1188 basic_machine=vax-dec 1189 os=-sysv 1190 ;; 1191 vms) 1192 basic_machine=vax-dec 1193 os=-vms 1194 ;; 1195 vpp*|vx|vx-*) 1196 basic_machine=f301-fujitsu 1197 ;; 1198 vxworks960) 1199 basic_machine=i960-wrs 1200 os=-vxworks 1201 ;; 1202 vxworks68) 1203 basic_machine=m68k-wrs 1204 os=-vxworks 1205 ;; 1206 vxworks29k) 1207 basic_machine=a29k-wrs 1208 os=-vxworks 1209 ;; 1210 w65*) 1211 basic_machine=w65-wdc 1212 os=-none 1213 ;; 1214 w89k-*) 1215 basic_machine=hppa1.1-winbond 1216 os=-proelf 1217 ;; 1218 xbox) 1219 basic_machine=i686-pc 1220 os=-mingw32 1221 ;; 1222 xps | xps100) 1223 basic_machine=xps100-honeywell 1224 ;; 1225 xscale-* | xscalee[bl]-*) 1226 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1227 ;; 1228 ymp) 1229 basic_machine=ymp-cray 1230 os=-unicos 1231 ;; 1232 z8k-*-coff) 1233 basic_machine=z8k-unknown 1234 os=-sim 1235 ;; 1236 z80-*-coff) 1237 basic_machine=z80-unknown 1238 os=-sim 1239 ;; 1240 none) 1241 basic_machine=none-none 1242 os=-none 1243 ;; 1244 1245# Here we handle the default manufacturer of certain CPU types. It is in 1246# some cases the only manufacturer, in others, it is the most popular. 1247 w89k) 1248 basic_machine=hppa1.1-winbond 1249 ;; 1250 op50n) 1251 basic_machine=hppa1.1-oki 1252 ;; 1253 op60c) 1254 basic_machine=hppa1.1-oki 1255 ;; 1256 romp) 1257 basic_machine=romp-ibm 1258 ;; 1259 mmix) 1260 basic_machine=mmix-knuth 1261 ;; 1262 rs6000) 1263 basic_machine=rs6000-ibm 1264 ;; 1265 vax) 1266 basic_machine=vax-dec 1267 ;; 1268 pdp10) 1269 # there are many clones, so DEC is not a safe bet 1270 basic_machine=pdp10-unknown 1271 ;; 1272 pdp11) 1273 basic_machine=pdp11-dec 1274 ;; 1275 we32k) 1276 basic_machine=we32k-att 1277 ;; 1278 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1279 basic_machine=sh-unknown 1280 ;; 1281 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1282 basic_machine=sparc-sun 1283 ;; 1284 cydra) 1285 basic_machine=cydra-cydrome 1286 ;; 1287 orion) 1288 basic_machine=orion-highlevel 1289 ;; 1290 orion105) 1291 basic_machine=clipper-highlevel 1292 ;; 1293 mac | mpw | mac-mpw) 1294 basic_machine=m68k-apple 1295 ;; 1296 pmac | pmac-mpw) 1297 basic_machine=powerpc-apple 1298 ;; 1299 *-unknown) 1300 # Make sure to match an already-canonicalized machine name. 1301 ;; 1302 *) 1303 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1304 exit 1 1305 ;; 1306esac 1307 1308# Here we canonicalize certain aliases for manufacturers. 1309case $basic_machine in 1310 *-digital*) 1311 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1312 ;; 1313 *-commodore*) 1314 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1315 ;; 1316 *) 1317 ;; 1318esac 1319 1320# Decode manufacturer-specific aliases for certain operating systems. 1321 1322if [ x"$os" != x"" ] 1323then 1324case $os in 1325 # First match some system type aliases 1326 # that might get confused with valid system types. 1327 # -solaris* is a basic system type, with this one exception. 1328 -auroraux) 1329 os=-auroraux 1330 ;; 1331 -solaris1 | -solaris1.*) 1332 os=`echo $os | sed -e 's|solaris1|sunos4|'` 1333 ;; 1334 -solaris) 1335 os=-solaris2 1336 ;; 1337 -svr4*) 1338 os=-sysv4 1339 ;; 1340 -unixware*) 1341 os=-sysv4.2uw 1342 ;; 1343 -gnu/linux*) 1344 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1345 ;; 1346 # First accept the basic system types. 1347 # The portable systems comes first. 1348 # Each alternative MUST END IN A *, to match a version number. 1349 # -sysv* is not here because it comes later, after sysvr4. 1350 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1351 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1352 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1353 | -sym* | -kopensolaris* \ 1354 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1355 | -aos* | -aros* \ 1356 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1357 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1358 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1359 | -bitrig* | -openbsd* | -solidbsd* \ 1360 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1361 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1362 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1363 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1364 | -chorusos* | -chorusrdb* | -cegcc* \ 1365 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1366 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1367 | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1368 | -uxpv* | -beos* | -mpeix* | -udk* \ 1369 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1370 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1371 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1372 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1373 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1374 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1375 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1376 # Remember, each alternative MUST END IN *, to match a version number. 1377 ;; 1378 -qnx*) 1379 case $basic_machine in 1380 x86-* | i*86-*) 1381 ;; 1382 *) 1383 os=-nto$os 1384 ;; 1385 esac 1386 ;; 1387 -nto-qnx*) 1388 ;; 1389 -nto*) 1390 os=`echo $os | sed -e 's|nto|nto-qnx|'` 1391 ;; 1392 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1393 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1394 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1395 ;; 1396 -mac*) 1397 os=`echo $os | sed -e 's|mac|macos|'` 1398 ;; 1399 -linux-dietlibc) 1400 os=-linux-dietlibc 1401 ;; 1402 -linux*) 1403 os=`echo $os | sed -e 's|linux|linux-gnu|'` 1404 ;; 1405 -sunos5*) 1406 os=`echo $os | sed -e 's|sunos5|solaris2|'` 1407 ;; 1408 -sunos6*) 1409 os=`echo $os | sed -e 's|sunos6|solaris3|'` 1410 ;; 1411 -opened*) 1412 os=-openedition 1413 ;; 1414 -os400*) 1415 os=-os400 1416 ;; 1417 -wince*) 1418 os=-wince 1419 ;; 1420 -osfrose*) 1421 os=-osfrose 1422 ;; 1423 -osf*) 1424 os=-osf 1425 ;; 1426 -utek*) 1427 os=-bsd 1428 ;; 1429 -dynix*) 1430 os=-bsd 1431 ;; 1432 -acis*) 1433 os=-aos 1434 ;; 1435 -atheos*) 1436 os=-atheos 1437 ;; 1438 -syllable*) 1439 os=-syllable 1440 ;; 1441 -386bsd) 1442 os=-bsd 1443 ;; 1444 -ctix* | -uts*) 1445 os=-sysv 1446 ;; 1447 -nova*) 1448 os=-rtmk-nova 1449 ;; 1450 -ns2 ) 1451 os=-nextstep2 1452 ;; 1453 -nsk*) 1454 os=-nsk 1455 ;; 1456 # Preserve the version number of sinix5. 1457 -sinix5.*) 1458 os=`echo $os | sed -e 's|sinix|sysv|'` 1459 ;; 1460 -sinix*) 1461 os=-sysv4 1462 ;; 1463 -tpf*) 1464 os=-tpf 1465 ;; 1466 -triton*) 1467 os=-sysv3 1468 ;; 1469 -oss*) 1470 os=-sysv3 1471 ;; 1472 -svr4) 1473 os=-sysv4 1474 ;; 1475 -svr3) 1476 os=-sysv3 1477 ;; 1478 -sysvr4) 1479 os=-sysv4 1480 ;; 1481 # This must come after -sysvr4. 1482 -sysv*) 1483 ;; 1484 -ose*) 1485 os=-ose 1486 ;; 1487 -es1800*) 1488 os=-ose 1489 ;; 1490 -xenix) 1491 os=-xenix 1492 ;; 1493 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1494 os=-mint 1495 ;; 1496 -aros*) 1497 os=-aros 1498 ;; 1499 -kaos*) 1500 os=-kaos 1501 ;; 1502 -zvmoe) 1503 os=-zvmoe 1504 ;; 1505 -dicos*) 1506 os=-dicos 1507 ;; 1508 -nacl*) 1509 ;; 1510 -none) 1511 ;; 1512 *) 1513 # Get rid of the `-' at the beginning of $os. 1514 os=`echo $os | sed 's/[^-]*-//'` 1515 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1516 exit 1 1517 ;; 1518esac 1519else 1520 1521# Here we handle the default operating systems that come with various machines. 1522# The value should be what the vendor currently ships out the door with their 1523# machine or put another way, the most popular os provided with the machine. 1524 1525# Note that if you're going to try to match "-MANUFACTURER" here (say, 1526# "-sun"), then you have to tell the case statement up towards the top 1527# that MANUFACTURER isn't an operating system. Otherwise, code above 1528# will signal an error saying that MANUFACTURER isn't an operating 1529# system, and we'll never get to this point. 1530 1531case $basic_machine in 1532 score-*) 1533 os=-elf 1534 ;; 1535 spu-*) 1536 os=-elf 1537 ;; 1538 *-acorn) 1539 os=-riscix1.2 1540 ;; 1541 arm*-rebel) 1542 os=-linux 1543 ;; 1544 arm*-semi) 1545 os=-aout 1546 ;; 1547 c4x-* | tic4x-*) 1548 os=-coff 1549 ;; 1550 hexagon-*) 1551 os=-elf 1552 ;; 1553 tic54x-*) 1554 os=-coff 1555 ;; 1556 tic55x-*) 1557 os=-coff 1558 ;; 1559 tic6x-*) 1560 os=-coff 1561 ;; 1562 # This must come before the *-dec entry. 1563 pdp10-*) 1564 os=-tops20 1565 ;; 1566 pdp11-*) 1567 os=-none 1568 ;; 1569 *-dec | vax-*) 1570 os=-ultrix4.2 1571 ;; 1572 m68*-apollo) 1573 os=-domain 1574 ;; 1575 i386-sun) 1576 os=-sunos4.0.2 1577 ;; 1578 m68000-sun) 1579 os=-sunos3 1580 ;; 1581 m68*-cisco) 1582 os=-aout 1583 ;; 1584 mep-*) 1585 os=-elf 1586 ;; 1587 mips*-cisco) 1588 os=-elf 1589 ;; 1590 mips*-*) 1591 os=-elf 1592 ;; 1593 or32-*) 1594 os=-coff 1595 ;; 1596 *-tti) # must be before sparc entry or we get the wrong os. 1597 os=-sysv3 1598 ;; 1599 sparc-* | *-sun) 1600 os=-sunos4.1.1 1601 ;; 1602 *-be) 1603 os=-beos 1604 ;; 1605 *-haiku) 1606 os=-haiku 1607 ;; 1608 *-ibm) 1609 os=-aix 1610 ;; 1611 *-knuth) 1612 os=-mmixware 1613 ;; 1614 *-wec) 1615 os=-proelf 1616 ;; 1617 *-winbond) 1618 os=-proelf 1619 ;; 1620 *-oki) 1621 os=-proelf 1622 ;; 1623 *-hp) 1624 os=-hpux 1625 ;; 1626 *-hitachi) 1627 os=-hiux 1628 ;; 1629 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1630 os=-sysv 1631 ;; 1632 *-cbm) 1633 os=-amigaos 1634 ;; 1635 *-dg) 1636 os=-dgux 1637 ;; 1638 *-dolphin) 1639 os=-sysv3 1640 ;; 1641 m68k-ccur) 1642 os=-rtu 1643 ;; 1644 m88k-omron*) 1645 os=-luna 1646 ;; 1647 *-next ) 1648 os=-nextstep 1649 ;; 1650 *-sequent) 1651 os=-ptx 1652 ;; 1653 *-crds) 1654 os=-unos 1655 ;; 1656 *-ns) 1657 os=-genix 1658 ;; 1659 i370-*) 1660 os=-mvs 1661 ;; 1662 *-next) 1663 os=-nextstep3 1664 ;; 1665 *-gould) 1666 os=-sysv 1667 ;; 1668 *-highlevel) 1669 os=-bsd 1670 ;; 1671 *-encore) 1672 os=-bsd 1673 ;; 1674 *-sgi) 1675 os=-irix 1676 ;; 1677 *-siemens) 1678 os=-sysv4 1679 ;; 1680 *-masscomp) 1681 os=-rtu 1682 ;; 1683 f30[01]-fujitsu | f700-fujitsu) 1684 os=-uxpv 1685 ;; 1686 *-rom68k) 1687 os=-coff 1688 ;; 1689 *-*bug) 1690 os=-coff 1691 ;; 1692 *-apple) 1693 os=-macos 1694 ;; 1695 *-atari*) 1696 os=-mint 1697 ;; 1698 *) 1699 os=-none 1700 ;; 1701esac 1702fi 1703 1704# Here we handle the case where we know the os, and the CPU type, but not the 1705# manufacturer. We pick the logical manufacturer. 1706vendor=unknown 1707case $basic_machine in 1708 *-unknown) 1709 case $os in 1710 -riscix*) 1711 vendor=acorn 1712 ;; 1713 -sunos*) 1714 vendor=sun 1715 ;; 1716 -cnk*|-aix*) 1717 vendor=ibm 1718 ;; 1719 -beos*) 1720 vendor=be 1721 ;; 1722 -hpux*) 1723 vendor=hp 1724 ;; 1725 -mpeix*) 1726 vendor=hp 1727 ;; 1728 -hiux*) 1729 vendor=hitachi 1730 ;; 1731 -unos*) 1732 vendor=crds 1733 ;; 1734 -dgux*) 1735 vendor=dg 1736 ;; 1737 -luna*) 1738 vendor=omron 1739 ;; 1740 -genix*) 1741 vendor=ns 1742 ;; 1743 -mvs* | -opened*) 1744 vendor=ibm 1745 ;; 1746 -os400*) 1747 vendor=ibm 1748 ;; 1749 -ptx*) 1750 vendor=sequent 1751 ;; 1752 -tpf*) 1753 vendor=ibm 1754 ;; 1755 -vxsim* | -vxworks* | -windiss*) 1756 vendor=wrs 1757 ;; 1758 -aux*) 1759 vendor=apple 1760 ;; 1761 -hms*) 1762 vendor=hitachi 1763 ;; 1764 -mpw* | -macos*) 1765 vendor=apple 1766 ;; 1767 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1768 vendor=atari 1769 ;; 1770 -vos*) 1771 vendor=stratus 1772 ;; 1773 esac 1774 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1775 ;; 1776esac 1777 1778echo $basic_machine$os 1779exit 1780 1781# Local variables: 1782# eval: (add-hook 'write-file-hooks 'time-stamp) 1783# time-stamp-start: "timestamp='" 1784# time-stamp-format: "%:y-%02m-%02d" 1785# time-stamp-end: "'" 1786# End: 1787