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