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