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