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