Mercurial
comparison third_party/sqlite3/autosetup/autosetup-config.sub @ 167:589bab390fb4
[ThirdParty] Added sqlite3 to the third_party.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 19 Jan 2026 16:28:45 -0800 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 166:78ea8d5ccc87 | 167:589bab390fb4 |
|---|---|
| 1 #! /bin/sh | |
| 2 # Configuration validation subroutine script. | |
| 3 # Copyright 1992-2024 Free Software Foundation, Inc. | |
| 4 | |
| 5 # shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale | |
| 6 | |
| 7 timestamp='2024-05-27' | |
| 8 | |
| 9 # This file is free software; you can redistribute it and/or modify it | |
| 10 # under the terms of the GNU General Public License as published by | |
| 11 # the Free Software Foundation, either version 3 of the License, or | |
| 12 # (at your option) any later version. | |
| 13 # | |
| 14 # This program is distributed in the hope that it will be useful, but | |
| 15 # WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 17 # General Public License for more details. | |
| 18 # | |
| 19 # You should have received a copy of the GNU General Public License | |
| 20 # along with this program; if not, see <https://www.gnu.org/licenses/>. | |
| 21 # | |
| 22 # As a special exception to the GNU General Public License, if you | |
| 23 # distribute this file as part of a program that contains a | |
| 24 # configuration script generated by Autoconf, you may include it under | |
| 25 # the same distribution terms that you use for the rest of that | |
| 26 # program. This Exception is an additional permission under section 7 | |
| 27 # of the GNU General Public License, version 3 ("GPLv3"). | |
| 28 | |
| 29 | |
| 30 # Please send patches to <[email protected]>. | |
| 31 # | |
| 32 # Configuration subroutine to validate and canonicalize a configuration type. | |
| 33 # Supply the specified configuration type as an argument. | |
| 34 # If it is invalid, we print an error message on stderr and exit with code 1. | |
| 35 # Otherwise, we print the canonical config type on stdout and succeed. | |
| 36 | |
| 37 # You can get the latest version of this script from: | |
| 38 # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub | |
| 39 | |
| 40 # This file is supposed to be the same for all GNU packages | |
| 41 # and recognize all the CPU types, system types and aliases | |
| 42 # that are meaningful with *any* GNU software. | |
| 43 # Each package is responsible for reporting which valid configurations | |
| 44 # it does not support. The user should be able to distinguish | |
| 45 # a failure to support a valid configuration from a meaningless | |
| 46 # configuration. | |
| 47 | |
| 48 # The goal of this file is to map all the various variations of a given | |
| 49 # machine specification into a single specification in the form: | |
| 50 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM | |
| 51 # or in some cases, the newer four-part form: | |
| 52 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | |
| 53 # It is wrong to echo any other type of specification. | |
| 54 | |
| 55 # The "shellcheck disable" line above the timestamp inhibits complaints | |
| 56 # about features and limitations of the classic Bourne shell that were | |
| 57 # superseded or lifted in POSIX. However, this script identifies a wide | |
| 58 # variety of pre-POSIX systems that do not have POSIX shells at all, and | |
| 59 # even some reasonably current systems (Solaris 10 as case-in-point) still | |
| 60 # have a pre-POSIX /bin/sh. | |
| 61 | |
| 62 me=`echo "$0" | sed -e 's,.*/,,'` | |
| 63 | |
| 64 usage="\ | |
| 65 Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS | |
| 66 | |
| 67 Canonicalize a configuration name. | |
| 68 | |
| 69 Options: | |
| 70 -h, --help print this help, then exit | |
| 71 -t, --time-stamp print date of last modification, then exit | |
| 72 -v, --version print version number, then exit | |
| 73 | |
| 74 Report bugs and patches to <[email protected]>." | |
| 75 | |
| 76 version="\ | |
| 77 GNU config.sub ($timestamp) | |
| 78 | |
| 79 Copyright 1992-2024 Free Software Foundation, Inc. | |
| 80 | |
| 81 This is free software; see the source for copying conditions. There is NO | |
| 82 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
| 83 | |
| 84 help=" | |
| 85 Try '$me --help' for more information." | |
| 86 | |
| 87 # Parse command line | |
| 88 while test $# -gt 0 ; do | |
| 89 case $1 in | |
| 90 --time-stamp | --time* | -t ) | |
| 91 echo "$timestamp" ; exit ;; | |
| 92 --version | -v ) | |
| 93 echo "$version" ; exit ;; | |
| 94 --help | --h* | -h ) | |
| 95 echo "$usage"; exit ;; | |
| 96 -- ) # Stop option processing | |
| 97 shift; break ;; | |
| 98 - ) # Use stdin as input. | |
| 99 break ;; | |
| 100 -* ) | |
| 101 echo "$me: invalid option $1$help" >&2 | |
| 102 exit 1 ;; | |
| 103 | |
| 104 *local*) | |
| 105 # First pass through any local machine types. | |
| 106 echo "$1" | |
| 107 exit ;; | |
| 108 | |
| 109 * ) | |
| 110 break ;; | |
| 111 esac | |
| 112 done | |
| 113 | |
| 114 case $# in | |
| 115 0) echo "$me: missing argument$help" >&2 | |
| 116 exit 1;; | |
| 117 1) ;; | |
| 118 *) echo "$me: too many arguments$help" >&2 | |
| 119 exit 1;; | |
| 120 esac | |
| 121 | |
| 122 # Split fields of configuration type | |
| 123 saved_IFS=$IFS | |
| 124 IFS="-" read field1 field2 field3 field4 <<EOF | |
| 125 $1 | |
| 126 EOF | |
| 127 IFS=$saved_IFS | |
| 128 | |
| 129 # Separate into logical components for further validation | |
| 130 case $1 in | |
| 131 *-*-*-*-*) | |
| 132 echo "Invalid configuration '$1': more than four components" >&2 | |
| 133 exit 1 | |
| 134 ;; | |
| 135 *-*-*-*) | |
| 136 basic_machine=$field1-$field2 | |
| 137 basic_os=$field3-$field4 | |
| 138 ;; | |
| 139 *-*-*) | |
| 140 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two | |
| 141 # parts | |
| 142 maybe_os=$field2-$field3 | |
| 143 case $maybe_os in | |
| 144 cloudabi*-eabi* \ | |
| 145 | kfreebsd*-gnu* \ | |
| 146 | knetbsd*-gnu* \ | |
| 147 | kopensolaris*-gnu* \ | |
| 148 | linux-* \ | |
| 149 | managarm-* \ | |
| 150 | netbsd*-eabi* \ | |
| 151 | netbsd*-gnu* \ | |
| 152 | nto-qnx* \ | |
| 153 | os2-emx* \ | |
| 154 | rtmk-nova* \ | |
| 155 | storm-chaos* \ | |
| 156 | uclinux-gnu* \ | |
| 157 | uclinux-uclibc* \ | |
| 158 | windows-* ) | |
| 159 basic_machine=$field1 | |
| 160 basic_os=$maybe_os | |
| 161 ;; | |
| 162 android-linux) | |
| 163 basic_machine=$field1-unknown | |
| 164 basic_os=linux-android | |
| 165 ;; | |
| 166 *) | |
| 167 basic_machine=$field1-$field2 | |
| 168 basic_os=$field3 | |
| 169 ;; | |
| 170 esac | |
| 171 ;; | |
| 172 *-*) | |
| 173 case $field1-$field2 in | |
| 174 # Shorthands that happen to contain a single dash | |
| 175 convex-c[12] | convex-c3[248]) | |
| 176 basic_machine=$field2-convex | |
| 177 basic_os= | |
| 178 ;; | |
| 179 decstation-3100) | |
| 180 basic_machine=mips-dec | |
| 181 basic_os= | |
| 182 ;; | |
| 183 *-*) | |
| 184 # Second component is usually, but not always the OS | |
| 185 case $field2 in | |
| 186 # Do not treat sunos as a manufacturer | |
| 187 sun*os*) | |
| 188 basic_machine=$field1 | |
| 189 basic_os=$field2 | |
| 190 ;; | |
| 191 # Manufacturers | |
| 192 3100* \ | |
| 193 | 32* \ | |
| 194 | 3300* \ | |
| 195 | 3600* \ | |
| 196 | 7300* \ | |
| 197 | acorn \ | |
| 198 | altos* \ | |
| 199 | apollo \ | |
| 200 | apple \ | |
| 201 | atari \ | |
| 202 | att* \ | |
| 203 | axis \ | |
| 204 | be \ | |
| 205 | bull \ | |
| 206 | cbm \ | |
| 207 | ccur \ | |
| 208 | cisco \ | |
| 209 | commodore \ | |
| 210 | convergent* \ | |
| 211 | convex* \ | |
| 212 | cray \ | |
| 213 | crds \ | |
| 214 | dec* \ | |
| 215 | delta* \ | |
| 216 | dg \ | |
| 217 | digital \ | |
| 218 | dolphin \ | |
| 219 | encore* \ | |
| 220 | gould \ | |
| 221 | harris \ | |
| 222 | highlevel \ | |
| 223 | hitachi* \ | |
| 224 | hp \ | |
| 225 | ibm* \ | |
| 226 | intergraph \ | |
| 227 | isi* \ | |
| 228 | knuth \ | |
| 229 | masscomp \ | |
| 230 | microblaze* \ | |
| 231 | mips* \ | |
| 232 | motorola* \ | |
| 233 | ncr* \ | |
| 234 | news \ | |
| 235 | next \ | |
| 236 | ns \ | |
| 237 | oki \ | |
| 238 | omron* \ | |
| 239 | pc533* \ | |
| 240 | rebel \ | |
| 241 | rom68k \ | |
| 242 | rombug \ | |
| 243 | semi \ | |
| 244 | sequent* \ | |
| 245 | siemens \ | |
| 246 | sgi* \ | |
| 247 | siemens \ | |
| 248 | sim \ | |
| 249 | sni \ | |
| 250 | sony* \ | |
| 251 | stratus \ | |
| 252 | sun \ | |
| 253 | sun[234]* \ | |
| 254 | tektronix \ | |
| 255 | tti* \ | |
| 256 | ultra \ | |
| 257 | unicom* \ | |
| 258 | wec \ | |
| 259 | winbond \ | |
| 260 | wrs) | |
| 261 basic_machine=$field1-$field2 | |
| 262 basic_os= | |
| 263 ;; | |
| 264 zephyr*) | |
| 265 basic_machine=$field1-unknown | |
| 266 basic_os=$field2 | |
| 267 ;; | |
| 268 *) | |
| 269 basic_machine=$field1 | |
| 270 basic_os=$field2 | |
| 271 ;; | |
| 272 esac | |
| 273 ;; | |
| 274 esac | |
| 275 ;; | |
| 276 *) | |
| 277 # Convert single-component short-hands not valid as part of | |
| 278 # multi-component configurations. | |
| 279 case $field1 in | |
| 280 386bsd) | |
| 281 basic_machine=i386-pc | |
| 282 basic_os=bsd | |
| 283 ;; | |
| 284 a29khif) | |
| 285 basic_machine=a29k-amd | |
| 286 basic_os=udi | |
| 287 ;; | |
| 288 adobe68k) | |
| 289 basic_machine=m68010-adobe | |
| 290 basic_os=scout | |
| 291 ;; | |
| 292 alliant) | |
| 293 basic_machine=fx80-alliant | |
| 294 basic_os= | |
| 295 ;; | |
| 296 altos | altos3068) | |
| 297 basic_machine=m68k-altos | |
| 298 basic_os= | |
| 299 ;; | |
| 300 am29k) | |
| 301 basic_machine=a29k-none | |
| 302 basic_os=bsd | |
| 303 ;; | |
| 304 amdahl) | |
| 305 basic_machine=580-amdahl | |
| 306 basic_os=sysv | |
| 307 ;; | |
| 308 amiga) | |
| 309 basic_machine=m68k-unknown | |
| 310 basic_os= | |
| 311 ;; | |
| 312 amigaos | amigados) | |
| 313 basic_machine=m68k-unknown | |
| 314 basic_os=amigaos | |
| 315 ;; | |
| 316 amigaunix | amix) | |
| 317 basic_machine=m68k-unknown | |
| 318 basic_os=sysv4 | |
| 319 ;; | |
| 320 apollo68) | |
| 321 basic_machine=m68k-apollo | |
| 322 basic_os=sysv | |
| 323 ;; | |
| 324 apollo68bsd) | |
| 325 basic_machine=m68k-apollo | |
| 326 basic_os=bsd | |
| 327 ;; | |
| 328 aros) | |
| 329 basic_machine=i386-pc | |
| 330 basic_os=aros | |
| 331 ;; | |
| 332 aux) | |
| 333 basic_machine=m68k-apple | |
| 334 basic_os=aux | |
| 335 ;; | |
| 336 balance) | |
| 337 basic_machine=ns32k-sequent | |
| 338 basic_os=dynix | |
| 339 ;; | |
| 340 blackfin) | |
| 341 basic_machine=bfin-unknown | |
| 342 basic_os=linux | |
| 343 ;; | |
| 344 cegcc) | |
| 345 basic_machine=arm-unknown | |
| 346 basic_os=cegcc | |
| 347 ;; | |
| 348 cray) | |
| 349 basic_machine=j90-cray | |
| 350 basic_os=unicos | |
| 351 ;; | |
| 352 crds | unos) | |
| 353 basic_machine=m68k-crds | |
| 354 basic_os= | |
| 355 ;; | |
| 356 da30) | |
| 357 basic_machine=m68k-da30 | |
| 358 basic_os= | |
| 359 ;; | |
| 360 decstation | pmax | pmin | dec3100 | decstatn) | |
| 361 basic_machine=mips-dec | |
| 362 basic_os= | |
| 363 ;; | |
| 364 delta88) | |
| 365 basic_machine=m88k-motorola | |
| 366 basic_os=sysv3 | |
| 367 ;; | |
| 368 dicos) | |
| 369 basic_machine=i686-pc | |
| 370 basic_os=dicos | |
| 371 ;; | |
| 372 djgpp) | |
| 373 basic_machine=i586-pc | |
| 374 basic_os=msdosdjgpp | |
| 375 ;; | |
| 376 ebmon29k) | |
| 377 basic_machine=a29k-amd | |
| 378 basic_os=ebmon | |
| 379 ;; | |
| 380 es1800 | OSE68k | ose68k | ose | OSE) | |
| 381 basic_machine=m68k-ericsson | |
| 382 basic_os=ose | |
| 383 ;; | |
| 384 gmicro) | |
| 385 basic_machine=tron-gmicro | |
| 386 basic_os=sysv | |
| 387 ;; | |
| 388 go32) | |
| 389 basic_machine=i386-pc | |
| 390 basic_os=go32 | |
| 391 ;; | |
| 392 h8300hms) | |
| 393 basic_machine=h8300-hitachi | |
| 394 basic_os=hms | |
| 395 ;; | |
| 396 h8300xray) | |
| 397 basic_machine=h8300-hitachi | |
| 398 basic_os=xray | |
| 399 ;; | |
| 400 h8500hms) | |
| 401 basic_machine=h8500-hitachi | |
| 402 basic_os=hms | |
| 403 ;; | |
| 404 harris) | |
| 405 basic_machine=m88k-harris | |
| 406 basic_os=sysv3 | |
| 407 ;; | |
| 408 hp300 | hp300hpux) | |
| 409 basic_machine=m68k-hp | |
| 410 basic_os=hpux | |
| 411 ;; | |
| 412 hp300bsd) | |
| 413 basic_machine=m68k-hp | |
| 414 basic_os=bsd | |
| 415 ;; | |
| 416 hppaosf) | |
| 417 basic_machine=hppa1.1-hp | |
| 418 basic_os=osf | |
| 419 ;; | |
| 420 hppro) | |
| 421 basic_machine=hppa1.1-hp | |
| 422 basic_os=proelf | |
| 423 ;; | |
| 424 i386mach) | |
| 425 basic_machine=i386-mach | |
| 426 basic_os=mach | |
| 427 ;; | |
| 428 isi68 | isi) | |
| 429 basic_machine=m68k-isi | |
| 430 basic_os=sysv | |
| 431 ;; | |
| 432 m68knommu) | |
| 433 basic_machine=m68k-unknown | |
| 434 basic_os=linux | |
| 435 ;; | |
| 436 magnum | m3230) | |
| 437 basic_machine=mips-mips | |
| 438 basic_os=sysv | |
| 439 ;; | |
| 440 merlin) | |
| 441 basic_machine=ns32k-utek | |
| 442 basic_os=sysv | |
| 443 ;; | |
| 444 mingw64) | |
| 445 basic_machine=x86_64-pc | |
| 446 basic_os=mingw64 | |
| 447 ;; | |
| 448 mingw32) | |
| 449 basic_machine=i686-pc | |
| 450 basic_os=mingw32 | |
| 451 ;; | |
| 452 mingw32ce) | |
| 453 basic_machine=arm-unknown | |
| 454 basic_os=mingw32ce | |
| 455 ;; | |
| 456 monitor) | |
| 457 basic_machine=m68k-rom68k | |
| 458 basic_os=coff | |
| 459 ;; | |
| 460 morphos) | |
| 461 basic_machine=powerpc-unknown | |
| 462 basic_os=morphos | |
| 463 ;; | |
| 464 moxiebox) | |
| 465 basic_machine=moxie-unknown | |
| 466 basic_os=moxiebox | |
| 467 ;; | |
| 468 msdos) | |
| 469 basic_machine=i386-pc | |
| 470 basic_os=msdos | |
| 471 ;; | |
| 472 msys) | |
| 473 basic_machine=i686-pc | |
| 474 basic_os=msys | |
| 475 ;; | |
| 476 mvs) | |
| 477 basic_machine=i370-ibm | |
| 478 basic_os=mvs | |
| 479 ;; | |
| 480 nacl) | |
| 481 basic_machine=le32-unknown | |
| 482 basic_os=nacl | |
| 483 ;; | |
| 484 ncr3000) | |
| 485 basic_machine=i486-ncr | |
| 486 basic_os=sysv4 | |
| 487 ;; | |
| 488 netbsd386) | |
| 489 basic_machine=i386-pc | |
| 490 basic_os=netbsd | |
| 491 ;; | |
| 492 netwinder) | |
| 493 basic_machine=armv4l-rebel | |
| 494 basic_os=linux | |
| 495 ;; | |
| 496 news | news700 | news800 | news900) | |
| 497 basic_machine=m68k-sony | |
| 498 basic_os=newsos | |
| 499 ;; | |
| 500 news1000) | |
| 501 basic_machine=m68030-sony | |
| 502 basic_os=newsos | |
| 503 ;; | |
| 504 necv70) | |
| 505 basic_machine=v70-nec | |
| 506 basic_os=sysv | |
| 507 ;; | |
| 508 nh3000) | |
| 509 basic_machine=m68k-harris | |
| 510 basic_os=cxux | |
| 511 ;; | |
| 512 nh[45]000) | |
| 513 basic_machine=m88k-harris | |
| 514 basic_os=cxux | |
| 515 ;; | |
| 516 nindy960) | |
| 517 basic_machine=i960-intel | |
| 518 basic_os=nindy | |
| 519 ;; | |
| 520 mon960) | |
| 521 basic_machine=i960-intel | |
| 522 basic_os=mon960 | |
| 523 ;; | |
| 524 nonstopux) | |
| 525 basic_machine=mips-compaq | |
| 526 basic_os=nonstopux | |
| 527 ;; | |
| 528 os400) | |
| 529 basic_machine=powerpc-ibm | |
| 530 basic_os=os400 | |
| 531 ;; | |
| 532 OSE68000 | ose68000) | |
| 533 basic_machine=m68000-ericsson | |
| 534 basic_os=ose | |
| 535 ;; | |
| 536 os68k) | |
| 537 basic_machine=m68k-none | |
| 538 basic_os=os68k | |
| 539 ;; | |
| 540 paragon) | |
| 541 basic_machine=i860-intel | |
| 542 basic_os=osf | |
| 543 ;; | |
| 544 parisc) | |
| 545 basic_machine=hppa-unknown | |
| 546 basic_os=linux | |
| 547 ;; | |
| 548 psp) | |
| 549 basic_machine=mipsallegrexel-sony | |
| 550 basic_os=psp | |
| 551 ;; | |
| 552 pw32) | |
| 553 basic_machine=i586-unknown | |
| 554 basic_os=pw32 | |
| 555 ;; | |
| 556 rdos | rdos64) | |
| 557 basic_machine=x86_64-pc | |
| 558 basic_os=rdos | |
| 559 ;; | |
| 560 rdos32) | |
| 561 basic_machine=i386-pc | |
| 562 basic_os=rdos | |
| 563 ;; | |
| 564 rom68k) | |
| 565 basic_machine=m68k-rom68k | |
| 566 basic_os=coff | |
| 567 ;; | |
| 568 sa29200) | |
| 569 basic_machine=a29k-amd | |
| 570 basic_os=udi | |
| 571 ;; | |
| 572 sei) | |
| 573 basic_machine=mips-sei | |
| 574 basic_os=seiux | |
| 575 ;; | |
| 576 sequent) | |
| 577 basic_machine=i386-sequent | |
| 578 basic_os= | |
| 579 ;; | |
| 580 sps7) | |
| 581 basic_machine=m68k-bull | |
| 582 basic_os=sysv2 | |
| 583 ;; | |
| 584 st2000) | |
| 585 basic_machine=m68k-tandem | |
| 586 basic_os= | |
| 587 ;; | |
| 588 stratus) | |
| 589 basic_machine=i860-stratus | |
| 590 basic_os=sysv4 | |
| 591 ;; | |
| 592 sun2) | |
| 593 basic_machine=m68000-sun | |
| 594 basic_os= | |
| 595 ;; | |
| 596 sun2os3) | |
| 597 basic_machine=m68000-sun | |
| 598 basic_os=sunos3 | |
| 599 ;; | |
| 600 sun2os4) | |
| 601 basic_machine=m68000-sun | |
| 602 basic_os=sunos4 | |
| 603 ;; | |
| 604 sun3) | |
| 605 basic_machine=m68k-sun | |
| 606 basic_os= | |
| 607 ;; | |
| 608 sun3os3) | |
| 609 basic_machine=m68k-sun | |
| 610 basic_os=sunos3 | |
| 611 ;; | |
| 612 sun3os4) | |
| 613 basic_machine=m68k-sun | |
| 614 basic_os=sunos4 | |
| 615 ;; | |
| 616 sun4) | |
| 617 basic_machine=sparc-sun | |
| 618 basic_os= | |
| 619 ;; | |
| 620 sun4os3) | |
| 621 basic_machine=sparc-sun | |
| 622 basic_os=sunos3 | |
| 623 ;; | |
| 624 sun4os4) | |
| 625 basic_machine=sparc-sun | |
| 626 basic_os=sunos4 | |
| 627 ;; | |
| 628 sun4sol2) | |
| 629 basic_machine=sparc-sun | |
| 630 basic_os=solaris2 | |
| 631 ;; | |
| 632 sun386 | sun386i | roadrunner) | |
| 633 basic_machine=i386-sun | |
| 634 basic_os= | |
| 635 ;; | |
| 636 sv1) | |
| 637 basic_machine=sv1-cray | |
| 638 basic_os=unicos | |
| 639 ;; | |
| 640 symmetry) | |
| 641 basic_machine=i386-sequent | |
| 642 basic_os=dynix | |
| 643 ;; | |
| 644 t3e) | |
| 645 basic_machine=alphaev5-cray | |
| 646 basic_os=unicos | |
| 647 ;; | |
| 648 t90) | |
| 649 basic_machine=t90-cray | |
| 650 basic_os=unicos | |
| 651 ;; | |
| 652 toad1) | |
| 653 basic_machine=pdp10-xkl | |
| 654 basic_os=tops20 | |
| 655 ;; | |
| 656 tpf) | |
| 657 basic_machine=s390x-ibm | |
| 658 basic_os=tpf | |
| 659 ;; | |
| 660 udi29k) | |
| 661 basic_machine=a29k-amd | |
| 662 basic_os=udi | |
| 663 ;; | |
| 664 ultra3) | |
| 665 basic_machine=a29k-nyu | |
| 666 basic_os=sym1 | |
| 667 ;; | |
| 668 v810 | necv810) | |
| 669 basic_machine=v810-nec | |
| 670 basic_os=none | |
| 671 ;; | |
| 672 vaxv) | |
| 673 basic_machine=vax-dec | |
| 674 basic_os=sysv | |
| 675 ;; | |
| 676 vms) | |
| 677 basic_machine=vax-dec | |
| 678 basic_os=vms | |
| 679 ;; | |
| 680 vsta) | |
| 681 basic_machine=i386-pc | |
| 682 basic_os=vsta | |
| 683 ;; | |
| 684 vxworks960) | |
| 685 basic_machine=i960-wrs | |
| 686 basic_os=vxworks | |
| 687 ;; | |
| 688 vxworks68) | |
| 689 basic_machine=m68k-wrs | |
| 690 basic_os=vxworks | |
| 691 ;; | |
| 692 vxworks29k) | |
| 693 basic_machine=a29k-wrs | |
| 694 basic_os=vxworks | |
| 695 ;; | |
| 696 xbox) | |
| 697 basic_machine=i686-pc | |
| 698 basic_os=mingw32 | |
| 699 ;; | |
| 700 ymp) | |
| 701 basic_machine=ymp-cray | |
| 702 basic_os=unicos | |
| 703 ;; | |
| 704 *) | |
| 705 basic_machine=$1 | |
| 706 basic_os= | |
| 707 ;; | |
| 708 esac | |
| 709 ;; | |
| 710 esac | |
| 711 | |
| 712 # Decode 1-component or ad-hoc basic machines | |
| 713 case $basic_machine in | |
| 714 # Here we handle the default manufacturer of certain CPU types. It is in | |
| 715 # some cases the only manufacturer, in others, it is the most popular. | |
| 716 w89k) | |
| 717 cpu=hppa1.1 | |
| 718 vendor=winbond | |
| 719 ;; | |
| 720 op50n) | |
| 721 cpu=hppa1.1 | |
| 722 vendor=oki | |
| 723 ;; | |
| 724 op60c) | |
| 725 cpu=hppa1.1 | |
| 726 vendor=oki | |
| 727 ;; | |
| 728 ibm*) | |
| 729 cpu=i370 | |
| 730 vendor=ibm | |
| 731 ;; | |
| 732 orion105) | |
| 733 cpu=clipper | |
| 734 vendor=highlevel | |
| 735 ;; | |
| 736 mac | mpw | mac-mpw) | |
| 737 cpu=m68k | |
| 738 vendor=apple | |
| 739 ;; | |
| 740 pmac | pmac-mpw) | |
| 741 cpu=powerpc | |
| 742 vendor=apple | |
| 743 ;; | |
| 744 | |
| 745 # Recognize the various machine names and aliases which stand | |
| 746 # for a CPU type and a company and sometimes even an OS. | |
| 747 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) | |
| 748 cpu=m68000 | |
| 749 vendor=att | |
| 750 ;; | |
| 751 3b*) | |
| 752 cpu=we32k | |
| 753 vendor=att | |
| 754 ;; | |
| 755 bluegene*) | |
| 756 cpu=powerpc | |
| 757 vendor=ibm | |
| 758 basic_os=cnk | |
| 759 ;; | |
| 760 decsystem10* | dec10*) | |
| 761 cpu=pdp10 | |
| 762 vendor=dec | |
| 763 basic_os=tops10 | |
| 764 ;; | |
| 765 decsystem20* | dec20*) | |
| 766 cpu=pdp10 | |
| 767 vendor=dec | |
| 768 basic_os=tops20 | |
| 769 ;; | |
| 770 delta | 3300 | delta-motorola | 3300-motorola | motorola-delta | motorola-3300) | |
| 771 cpu=m68k | |
| 772 vendor=motorola | |
| 773 ;; | |
| 774 # This used to be dpx2*, but that gets the RS6000-based | |
| 775 # DPX/20 and the x86-based DPX/2-100 wrong. See | |
| 776 # https://oldskool.silicium.org/stations/bull_dpx20.htm | |
| 777 # https://www.feb-patrimoine.com/english/bull_dpx2.htm | |
| 778 # https://www.feb-patrimoine.com/english/unix_and_bull.htm | |
| 779 dpx2 | dpx2[23]00 | dpx2[23]xx) | |
| 780 cpu=m68k | |
| 781 vendor=bull | |
| 782 ;; | |
| 783 dpx2100 | dpx21xx) | |
| 784 cpu=i386 | |
| 785 vendor=bull | |
| 786 ;; | |
| 787 dpx20) | |
| 788 cpu=rs6000 | |
| 789 vendor=bull | |
| 790 ;; | |
| 791 encore | umax | mmax) | |
| 792 cpu=ns32k | |
| 793 vendor=encore | |
| 794 ;; | |
| 795 elxsi) | |
| 796 cpu=elxsi | |
| 797 vendor=elxsi | |
| 798 basic_os=${basic_os:-bsd} | |
| 799 ;; | |
| 800 fx2800) | |
| 801 cpu=i860 | |
| 802 vendor=alliant | |
| 803 ;; | |
| 804 genix) | |
| 805 cpu=ns32k | |
| 806 vendor=ns | |
| 807 ;; | |
| 808 h3050r* | hiux*) | |
| 809 cpu=hppa1.1 | |
| 810 vendor=hitachi | |
| 811 basic_os=hiuxwe2 | |
| 812 ;; | |
| 813 hp3k9[0-9][0-9] | hp9[0-9][0-9]) | |
| 814 cpu=hppa1.0 | |
| 815 vendor=hp | |
| 816 ;; | |
| 817 hp9k2[0-9][0-9] | hp9k31[0-9]) | |
| 818 cpu=m68000 | |
| 819 vendor=hp | |
| 820 ;; | |
| 821 hp9k3[2-9][0-9]) | |
| 822 cpu=m68k | |
| 823 vendor=hp | |
| 824 ;; | |
| 825 hp9k6[0-9][0-9] | hp6[0-9][0-9]) | |
| 826 cpu=hppa1.0 | |
| 827 vendor=hp | |
| 828 ;; | |
| 829 hp9k7[0-79][0-9] | hp7[0-79][0-9]) | |
| 830 cpu=hppa1.1 | |
| 831 vendor=hp | |
| 832 ;; | |
| 833 hp9k78[0-9] | hp78[0-9]) | |
| 834 # FIXME: really hppa2.0-hp | |
| 835 cpu=hppa1.1 | |
| 836 vendor=hp | |
| 837 ;; | |
| 838 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) | |
| 839 # FIXME: really hppa2.0-hp | |
| 840 cpu=hppa1.1 | |
| 841 vendor=hp | |
| 842 ;; | |
| 843 hp9k8[0-9][13679] | hp8[0-9][13679]) | |
| 844 cpu=hppa1.1 | |
| 845 vendor=hp | |
| 846 ;; | |
| 847 hp9k8[0-9][0-9] | hp8[0-9][0-9]) | |
| 848 cpu=hppa1.0 | |
| 849 vendor=hp | |
| 850 ;; | |
| 851 i*86v32) | |
| 852 cpu=`echo "$1" | sed -e 's/86.*/86/'` | |
| 853 vendor=pc | |
| 854 basic_os=sysv32 | |
| 855 ;; | |
| 856 i*86v4*) | |
| 857 cpu=`echo "$1" | sed -e 's/86.*/86/'` | |
| 858 vendor=pc | |
| 859 basic_os=sysv4 | |
| 860 ;; | |
| 861 i*86v) | |
| 862 cpu=`echo "$1" | sed -e 's/86.*/86/'` | |
| 863 vendor=pc | |
| 864 basic_os=sysv | |
| 865 ;; | |
| 866 i*86sol2) | |
| 867 cpu=`echo "$1" | sed -e 's/86.*/86/'` | |
| 868 vendor=pc | |
| 869 basic_os=solaris2 | |
| 870 ;; | |
| 871 j90 | j90-cray) | |
| 872 cpu=j90 | |
| 873 vendor=cray | |
| 874 basic_os=${basic_os:-unicos} | |
| 875 ;; | |
| 876 iris | iris4d) | |
| 877 cpu=mips | |
| 878 vendor=sgi | |
| 879 case $basic_os in | |
| 880 irix*) | |
| 881 ;; | |
| 882 *) | |
| 883 basic_os=irix4 | |
| 884 ;; | |
| 885 esac | |
| 886 ;; | |
| 887 miniframe) | |
| 888 cpu=m68000 | |
| 889 vendor=convergent | |
| 890 ;; | |
| 891 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) | |
| 892 cpu=m68k | |
| 893 vendor=atari | |
| 894 basic_os=mint | |
| 895 ;; | |
| 896 news-3600 | risc-news) | |
| 897 cpu=mips | |
| 898 vendor=sony | |
| 899 basic_os=newsos | |
| 900 ;; | |
| 901 next | m*-next) | |
| 902 cpu=m68k | |
| 903 vendor=next | |
| 904 ;; | |
| 905 np1) | |
| 906 cpu=np1 | |
| 907 vendor=gould | |
| 908 ;; | |
| 909 op50n-* | op60c-*) | |
| 910 cpu=hppa1.1 | |
| 911 vendor=oki | |
| 912 basic_os=proelf | |
| 913 ;; | |
| 914 pa-hitachi) | |
| 915 cpu=hppa1.1 | |
| 916 vendor=hitachi | |
| 917 basic_os=hiuxwe2 | |
| 918 ;; | |
| 919 pbd) | |
| 920 cpu=sparc | |
| 921 vendor=tti | |
| 922 ;; | |
| 923 pbb) | |
| 924 cpu=m68k | |
| 925 vendor=tti | |
| 926 ;; | |
| 927 pc532) | |
| 928 cpu=ns32k | |
| 929 vendor=pc532 | |
| 930 ;; | |
| 931 pn) | |
| 932 cpu=pn | |
| 933 vendor=gould | |
| 934 ;; | |
| 935 power) | |
| 936 cpu=power | |
| 937 vendor=ibm | |
| 938 ;; | |
| 939 ps2) | |
| 940 cpu=i386 | |
| 941 vendor=ibm | |
| 942 ;; | |
| 943 rm[46]00) | |
| 944 cpu=mips | |
| 945 vendor=siemens | |
| 946 ;; | |
| 947 rtpc | rtpc-*) | |
| 948 cpu=romp | |
| 949 vendor=ibm | |
| 950 ;; | |
| 951 sde) | |
| 952 cpu=mipsisa32 | |
| 953 vendor=sde | |
| 954 basic_os=${basic_os:-elf} | |
| 955 ;; | |
| 956 simso-wrs) | |
| 957 cpu=sparclite | |
| 958 vendor=wrs | |
| 959 basic_os=vxworks | |
| 960 ;; | |
| 961 tower | tower-32) | |
| 962 cpu=m68k | |
| 963 vendor=ncr | |
| 964 ;; | |
| 965 vpp*|vx|vx-*) | |
| 966 cpu=f301 | |
| 967 vendor=fujitsu | |
| 968 ;; | |
| 969 w65) | |
| 970 cpu=w65 | |
| 971 vendor=wdc | |
| 972 ;; | |
| 973 w89k-*) | |
| 974 cpu=hppa1.1 | |
| 975 vendor=winbond | |
| 976 basic_os=proelf | |
| 977 ;; | |
| 978 none) | |
| 979 cpu=none | |
| 980 vendor=none | |
| 981 ;; | |
| 982 leon|leon[3-9]) | |
| 983 cpu=sparc | |
| 984 vendor=$basic_machine | |
| 985 ;; | |
| 986 leon-*|leon[3-9]-*) | |
| 987 cpu=sparc | |
| 988 vendor=`echo "$basic_machine" | sed 's/-.*//'` | |
| 989 ;; | |
| 990 | |
| 991 *-*) | |
| 992 saved_IFS=$IFS | |
| 993 IFS="-" read cpu vendor <<EOF | |
| 994 $basic_machine | |
| 995 EOF | |
| 996 IFS=$saved_IFS | |
| 997 ;; | |
| 998 # We use 'pc' rather than 'unknown' | |
| 999 # because (1) that's what they normally are, and | |
| 1000 # (2) the word "unknown" tends to confuse beginning users. | |
| 1001 i*86 | x86_64) | |
| 1002 cpu=$basic_machine | |
| 1003 vendor=pc | |
| 1004 ;; | |
| 1005 # These rules are duplicated from below for sake of the special case above; | |
| 1006 # i.e. things that normalized to x86 arches should also default to "pc" | |
| 1007 pc98) | |
| 1008 cpu=i386 | |
| 1009 vendor=pc | |
| 1010 ;; | |
| 1011 x64 | amd64) | |
| 1012 cpu=x86_64 | |
| 1013 vendor=pc | |
| 1014 ;; | |
| 1015 # Recognize the basic CPU types without company name. | |
| 1016 *) | |
| 1017 cpu=$basic_machine | |
| 1018 vendor=unknown | |
| 1019 ;; | |
| 1020 esac | |
| 1021 | |
| 1022 unset -v basic_machine | |
| 1023 | |
| 1024 # Decode basic machines in the full and proper CPU-Company form. | |
| 1025 case $cpu-$vendor in | |
| 1026 # Here we handle the default manufacturer of certain CPU types in canonical form. | |
| 1027 # It is in some cases the only manufacturer, in others, it is the most popular. | |
| 1028 c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown) | |
| 1029 vendor=convex | |
| 1030 basic_os=${basic_os:-bsd} | |
| 1031 ;; | |
| 1032 craynv-unknown) | |
| 1033 vendor=cray | |
| 1034 basic_os=${basic_os:-unicosmp} | |
| 1035 ;; | |
| 1036 c90-unknown | c90-cray) | |
| 1037 vendor=cray | |
| 1038 basic_os=${basic_os:-unicos} | |
| 1039 ;; | |
| 1040 fx80-unknown) | |
| 1041 vendor=alliant | |
| 1042 ;; | |
| 1043 romp-unknown) | |
| 1044 vendor=ibm | |
| 1045 ;; | |
| 1046 mmix-unknown) | |
| 1047 vendor=knuth | |
| 1048 ;; | |
| 1049 microblaze-unknown | microblazeel-unknown) | |
| 1050 vendor=xilinx | |
| 1051 ;; | |
| 1052 rs6000-unknown) | |
| 1053 vendor=ibm | |
| 1054 ;; | |
| 1055 vax-unknown) | |
| 1056 vendor=dec | |
| 1057 ;; | |
| 1058 pdp11-unknown) | |
| 1059 vendor=dec | |
| 1060 ;; | |
| 1061 we32k-unknown) | |
| 1062 vendor=att | |
| 1063 ;; | |
| 1064 cydra-unknown) | |
| 1065 vendor=cydrome | |
| 1066 ;; | |
| 1067 i370-ibm*) | |
| 1068 vendor=ibm | |
| 1069 ;; | |
| 1070 orion-unknown) | |
| 1071 vendor=highlevel | |
| 1072 ;; | |
| 1073 xps-unknown | xps100-unknown) | |
| 1074 cpu=xps100 | |
| 1075 vendor=honeywell | |
| 1076 ;; | |
| 1077 | |
| 1078 # Here we normalize CPU types with a missing or matching vendor | |
| 1079 armh-unknown | armh-alt) | |
| 1080 cpu=armv7l | |
| 1081 vendor=alt | |
| 1082 basic_os=${basic_os:-linux-gnueabihf} | |
| 1083 ;; | |
| 1084 | |
| 1085 # Normalized CPU+vendor pairs that imply an OS, if not otherwise specified | |
| 1086 m68k-isi) | |
| 1087 basic_os=${basic_os:-sysv} | |
| 1088 ;; | |
| 1089 m68k-sony) | |
| 1090 basic_os=${basic_os:-newsos} | |
| 1091 ;; | |
| 1092 m68k-tektronix) | |
| 1093 basic_os=${basic_os:-bsd} | |
| 1094 ;; | |
| 1095 m88k-harris) | |
| 1096 basic_os=${basic_os:-sysv3} | |
| 1097 ;; | |
| 1098 i386-bull | m68k-bull) | |
| 1099 basic_os=${basic_os:-sysv3} | |
| 1100 ;; | |
| 1101 rs6000-bull) | |
| 1102 basic_os=${basic_os:-bosx} | |
| 1103 ;; | |
| 1104 mips-sni) | |
| 1105 basic_os=${basic_os:-sysv4} | |
| 1106 ;; | |
| 1107 | |
| 1108 # Here we normalize CPU types irrespective of the vendor | |
| 1109 amd64-*) | |
| 1110 cpu=x86_64 | |
| 1111 ;; | |
| 1112 blackfin-*) | |
| 1113 cpu=bfin | |
| 1114 basic_os=${basic_os:-linux} | |
| 1115 ;; | |
| 1116 c54x-*) | |
| 1117 cpu=tic54x | |
| 1118 ;; | |
| 1119 c55x-*) | |
| 1120 cpu=tic55x | |
| 1121 ;; | |
| 1122 c6x-*) | |
| 1123 cpu=tic6x | |
| 1124 ;; | |
| 1125 e500v[12]-*) | |
| 1126 cpu=powerpc | |
| 1127 basic_os=${basic_os}"spe" | |
| 1128 ;; | |
| 1129 mips3*-*) | |
| 1130 cpu=mips64 | |
| 1131 ;; | |
| 1132 ms1-*) | |
| 1133 cpu=mt | |
| 1134 ;; | |
| 1135 m68knommu-*) | |
| 1136 cpu=m68k | |
| 1137 basic_os=${basic_os:-linux} | |
| 1138 ;; | |
| 1139 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) | |
| 1140 cpu=s12z | |
| 1141 ;; | |
| 1142 openrisc-*) | |
| 1143 cpu=or32 | |
| 1144 ;; | |
| 1145 parisc-*) | |
| 1146 cpu=hppa | |
| 1147 basic_os=${basic_os:-linux} | |
| 1148 ;; | |
| 1149 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | |
| 1150 cpu=i586 | |
| 1151 ;; | |
| 1152 pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*) | |
| 1153 cpu=i686 | |
| 1154 ;; | |
| 1155 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | |
| 1156 cpu=i686 | |
| 1157 ;; | |
| 1158 pentium4-*) | |
| 1159 cpu=i786 | |
| 1160 ;; | |
| 1161 ppc-* | ppcbe-*) | |
| 1162 cpu=powerpc | |
| 1163 ;; | |
| 1164 ppcle-* | powerpclittle-*) | |
| 1165 cpu=powerpcle | |
| 1166 ;; | |
| 1167 ppc64-*) | |
| 1168 cpu=powerpc64 | |
| 1169 ;; | |
| 1170 ppc64le-* | powerpc64little-*) | |
| 1171 cpu=powerpc64le | |
| 1172 ;; | |
| 1173 sb1-*) | |
| 1174 cpu=mipsisa64sb1 | |
| 1175 ;; | |
| 1176 sb1el-*) | |
| 1177 cpu=mipsisa64sb1el | |
| 1178 ;; | |
| 1179 sh5e[lb]-*) | |
| 1180 cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` | |
| 1181 ;; | |
| 1182 spur-*) | |
| 1183 cpu=spur | |
| 1184 ;; | |
| 1185 strongarm-* | thumb-*) | |
| 1186 cpu=arm | |
| 1187 ;; | |
| 1188 tx39-*) | |
| 1189 cpu=mipstx39 | |
| 1190 ;; | |
| 1191 tx39el-*) | |
| 1192 cpu=mipstx39el | |
| 1193 ;; | |
| 1194 xscale-* | xscalee[bl]-*) | |
| 1195 cpu=`echo "$cpu" | sed 's/^xscale/arm/'` | |
| 1196 ;; | |
| 1197 arm64-* | aarch64le-*) | |
| 1198 cpu=aarch64 | |
| 1199 ;; | |
| 1200 | |
| 1201 # Recognize the canonical CPU Types that limit and/or modify the | |
| 1202 # company names they are paired with. | |
| 1203 cr16-*) | |
| 1204 basic_os=${basic_os:-elf} | |
| 1205 ;; | |
| 1206 crisv32-* | etraxfs*-*) | |
| 1207 cpu=crisv32 | |
| 1208 vendor=axis | |
| 1209 ;; | |
| 1210 cris-* | etrax*-*) | |
| 1211 cpu=cris | |
| 1212 vendor=axis | |
| 1213 ;; | |
| 1214 crx-*) | |
| 1215 basic_os=${basic_os:-elf} | |
| 1216 ;; | |
| 1217 neo-tandem) | |
| 1218 cpu=neo | |
| 1219 vendor=tandem | |
| 1220 ;; | |
| 1221 nse-tandem) | |
| 1222 cpu=nse | |
| 1223 vendor=tandem | |
| 1224 ;; | |
| 1225 nsr-tandem) | |
| 1226 cpu=nsr | |
| 1227 vendor=tandem | |
| 1228 ;; | |
| 1229 nsv-tandem) | |
| 1230 cpu=nsv | |
| 1231 vendor=tandem | |
| 1232 ;; | |
| 1233 nsx-tandem) | |
| 1234 cpu=nsx | |
| 1235 vendor=tandem | |
| 1236 ;; | |
| 1237 mipsallegrexel-sony) | |
| 1238 cpu=mipsallegrexel | |
| 1239 vendor=sony | |
| 1240 ;; | |
| 1241 tile*-*) | |
| 1242 basic_os=${basic_os:-linux-gnu} | |
| 1243 ;; | |
| 1244 | |
| 1245 *) | |
| 1246 # Recognize the canonical CPU types that are allowed with any | |
| 1247 # company name. | |
| 1248 case $cpu in | |
| 1249 1750a \ | |
| 1250 | 580 \ | |
| 1251 | [cjt]90 \ | |
| 1252 | a29k \ | |
| 1253 | aarch64 \ | |
| 1254 | aarch64_be \ | |
| 1255 | aarch64c \ | |
| 1256 | abacus \ | |
| 1257 | alpha \ | |
| 1258 | alpha64 \ | |
| 1259 | alpha64ev56 \ | |
| 1260 | alpha64ev6[78] \ | |
| 1261 | alpha64ev[4-8] \ | |
| 1262 | alpha64pca5[67] \ | |
| 1263 | alphaev56 \ | |
| 1264 | alphaev6[78] \ | |
| 1265 | alphaev[4-8] \ | |
| 1266 | alphapca5[67] \ | |
| 1267 | am33_2.0 \ | |
| 1268 | amdgcn \ | |
| 1269 | arc \ | |
| 1270 | arc32 \ | |
| 1271 | arc64 \ | |
| 1272 | arceb \ | |
| 1273 | arm \ | |
| 1274 | arm64e \ | |
| 1275 | arm64ec \ | |
| 1276 | arm[lb]e \ | |
| 1277 | arme[lb] \ | |
| 1278 | armv* \ | |
| 1279 | asmjs \ | |
| 1280 | avr \ | |
| 1281 | avr32 \ | |
| 1282 | ba \ | |
| 1283 | be32 \ | |
| 1284 | be64 \ | |
| 1285 | bfin \ | |
| 1286 | bpf \ | |
| 1287 | bs2000 \ | |
| 1288 | c30 \ | |
| 1289 | c4x \ | |
| 1290 | c8051 \ | |
| 1291 | c[123]* \ | |
| 1292 | clipper \ | |
| 1293 | craynv \ | |
| 1294 | csky \ | |
| 1295 | cydra \ | |
| 1296 | d10v \ | |
| 1297 | d30v \ | |
| 1298 | dlx \ | |
| 1299 | dsp16xx \ | |
| 1300 | e2k \ | |
| 1301 | elxsi \ | |
| 1302 | epiphany \ | |
| 1303 | f30[01] \ | |
| 1304 | f700 \ | |
| 1305 | fido \ | |
| 1306 | fr30 \ | |
| 1307 | frv \ | |
| 1308 | ft32 \ | |
| 1309 | fx80 \ | |
| 1310 | h8300 \ | |
| 1311 | h8500 \ | |
| 1312 | hexagon \ | |
| 1313 | hppa \ | |
| 1314 | hppa1.[01] \ | |
| 1315 | hppa2.0 \ | |
| 1316 | hppa2.0[nw] \ | |
| 1317 | hppa64 \ | |
| 1318 | i*86 \ | |
| 1319 | i370 \ | |
| 1320 | i860 \ | |
| 1321 | i960 \ | |
| 1322 | ia16 \ | |
| 1323 | ia64 \ | |
| 1324 | ip2k \ | |
| 1325 | iq2000 \ | |
| 1326 | javascript \ | |
| 1327 | k1om \ | |
| 1328 | kvx \ | |
| 1329 | le32 \ | |
| 1330 | le64 \ | |
| 1331 | lm32 \ | |
| 1332 | loongarch32 \ | |
| 1333 | loongarch64 \ | |
| 1334 | m32c \ | |
| 1335 | m32r \ | |
| 1336 | m32rle \ | |
| 1337 | m5200 \ | |
| 1338 | m68000 \ | |
| 1339 | m680[012346]0 \ | |
| 1340 | m6811 \ | |
| 1341 | m6812 \ | |
| 1342 | m68360 \ | |
| 1343 | m683?2 \ | |
| 1344 | m68hc11 \ | |
| 1345 | m68hc12 \ | |
| 1346 | m68hcs12x \ | |
| 1347 | m68k \ | |
| 1348 | m88110 \ | |
| 1349 | m88k \ | |
| 1350 | maxq \ | |
| 1351 | mb \ | |
| 1352 | mcore \ | |
| 1353 | mep \ | |
| 1354 | metag \ | |
| 1355 | microblaze \ | |
| 1356 | microblazeel \ | |
| 1357 | mips* \ | |
| 1358 | mmix \ | |
| 1359 | mn10200 \ | |
| 1360 | mn10300 \ | |
| 1361 | moxie \ | |
| 1362 | msp430 \ | |
| 1363 | mt \ | |
| 1364 | nanomips* \ | |
| 1365 | nds32 \ | |
| 1366 | nds32be \ | |
| 1367 | nds32le \ | |
| 1368 | nfp \ | |
| 1369 | nios \ | |
| 1370 | nios2 \ | |
| 1371 | nios2eb \ | |
| 1372 | nios2el \ | |
| 1373 | none \ | |
| 1374 | np1 \ | |
| 1375 | ns16k \ | |
| 1376 | ns32k \ | |
| 1377 | nvptx \ | |
| 1378 | open8 \ | |
| 1379 | or1k* \ | |
| 1380 | or32 \ | |
| 1381 | orion \ | |
| 1382 | pdp10 \ | |
| 1383 | pdp11 \ | |
| 1384 | picochip \ | |
| 1385 | pj \ | |
| 1386 | pjl \ | |
| 1387 | pn \ | |
| 1388 | power \ | |
| 1389 | powerpc \ | |
| 1390 | powerpc64 \ | |
| 1391 | powerpc64le \ | |
| 1392 | powerpcle \ | |
| 1393 | powerpcspe \ | |
| 1394 | pru \ | |
| 1395 | pyramid \ | |
| 1396 | riscv \ | |
| 1397 | riscv32 \ | |
| 1398 | riscv32be \ | |
| 1399 | riscv64 \ | |
| 1400 | riscv64be \ | |
| 1401 | rl78 \ | |
| 1402 | romp \ | |
| 1403 | rs6000 \ | |
| 1404 | rx \ | |
| 1405 | s390 \ | |
| 1406 | s390x \ | |
| 1407 | score \ | |
| 1408 | sh \ | |
| 1409 | sh64 \ | |
| 1410 | sh64le \ | |
| 1411 | sh[12345][lb]e \ | |
| 1412 | sh[1234] \ | |
| 1413 | sh[1234]e[lb] \ | |
| 1414 | sh[23]e \ | |
| 1415 | sh[23]ele \ | |
| 1416 | sh[24]a \ | |
| 1417 | sh[24]ae[lb] \ | |
| 1418 | sh[lb]e \ | |
| 1419 | she[lb] \ | |
| 1420 | shl \ | |
| 1421 | sparc \ | |
| 1422 | sparc64 \ | |
| 1423 | sparc64b \ | |
| 1424 | sparc64v \ | |
| 1425 | sparc86x \ | |
| 1426 | sparclet \ | |
| 1427 | sparclite \ | |
| 1428 | sparcv8 \ | |
| 1429 | sparcv9 \ | |
| 1430 | sparcv9b \ | |
| 1431 | sparcv9v \ | |
| 1432 | spu \ | |
| 1433 | sv1 \ | |
| 1434 | sx* \ | |
| 1435 | tahoe \ | |
| 1436 | thumbv7* \ | |
| 1437 | tic30 \ | |
| 1438 | tic4x \ | |
| 1439 | tic54x \ | |
| 1440 | tic55x \ | |
| 1441 | tic6x \ | |
| 1442 | tic80 \ | |
| 1443 | tron \ | |
| 1444 | ubicom32 \ | |
| 1445 | v70 \ | |
| 1446 | v810 \ | |
| 1447 | v850 \ | |
| 1448 | v850e \ | |
| 1449 | v850e1 \ | |
| 1450 | v850e2 \ | |
| 1451 | v850e2v3 \ | |
| 1452 | v850es \ | |
| 1453 | vax \ | |
| 1454 | vc4 \ | |
| 1455 | visium \ | |
| 1456 | w65 \ | |
| 1457 | wasm32 \ | |
| 1458 | wasm64 \ | |
| 1459 | we32k \ | |
| 1460 | x86 \ | |
| 1461 | x86_64 \ | |
| 1462 | xc16x \ | |
| 1463 | xgate \ | |
| 1464 | xps100 \ | |
| 1465 | xstormy16 \ | |
| 1466 | xtensa* \ | |
| 1467 | ymp \ | |
| 1468 | z80 \ | |
| 1469 | z8k) | |
| 1470 ;; | |
| 1471 | |
| 1472 *) | |
| 1473 echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 | |
| 1474 exit 1 | |
| 1475 ;; | |
| 1476 esac | |
| 1477 ;; | |
| 1478 esac | |
| 1479 | |
| 1480 # Here we canonicalize certain aliases for manufacturers. | |
| 1481 case $vendor in | |
| 1482 digital*) | |
| 1483 vendor=dec | |
| 1484 ;; | |
| 1485 commodore*) | |
| 1486 vendor=cbm | |
| 1487 ;; | |
| 1488 *) | |
| 1489 ;; | |
| 1490 esac | |
| 1491 | |
| 1492 # Decode manufacturer-specific aliases for certain operating systems. | |
| 1493 | |
| 1494 if test x"$basic_os" != x | |
| 1495 then | |
| 1496 | |
| 1497 # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just | |
| 1498 # set os. | |
| 1499 obj= | |
| 1500 case $basic_os in | |
| 1501 gnu/linux*) | |
| 1502 kernel=linux | |
| 1503 os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` | |
| 1504 ;; | |
| 1505 os2-emx) | |
| 1506 kernel=os2 | |
| 1507 os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` | |
| 1508 ;; | |
| 1509 nto-qnx*) | |
| 1510 kernel=nto | |
| 1511 os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` | |
| 1512 ;; | |
| 1513 *-*) | |
| 1514 saved_IFS=$IFS | |
| 1515 IFS="-" read kernel os <<EOF | |
| 1516 $basic_os | |
| 1517 EOF | |
| 1518 IFS=$saved_IFS | |
| 1519 ;; | |
| 1520 # Default OS when just kernel was specified | |
| 1521 nto*) | |
| 1522 kernel=nto | |
| 1523 os=`echo "$basic_os" | sed -e 's|nto|qnx|'` | |
| 1524 ;; | |
| 1525 linux*) | |
| 1526 kernel=linux | |
| 1527 os=`echo "$basic_os" | sed -e 's|linux|gnu|'` | |
| 1528 ;; | |
| 1529 managarm*) | |
| 1530 kernel=managarm | |
| 1531 os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` | |
| 1532 ;; | |
| 1533 *) | |
| 1534 kernel= | |
| 1535 os=$basic_os | |
| 1536 ;; | |
| 1537 esac | |
| 1538 | |
| 1539 # Now, normalize the OS (knowing we just have one component, it's not a kernel, | |
| 1540 # etc.) | |
| 1541 case $os in | |
| 1542 # First match some system type aliases that might get confused | |
| 1543 # with valid system types. | |
| 1544 # solaris* is a basic system type, with this one exception. | |
| 1545 auroraux) | |
| 1546 os=auroraux | |
| 1547 ;; | |
| 1548 bluegene*) | |
| 1549 os=cnk | |
| 1550 ;; | |
| 1551 solaris1 | solaris1.*) | |
| 1552 os=`echo "$os" | sed -e 's|solaris1|sunos4|'` | |
| 1553 ;; | |
| 1554 solaris) | |
| 1555 os=solaris2 | |
| 1556 ;; | |
| 1557 unixware*) | |
| 1558 os=sysv4.2uw | |
| 1559 ;; | |
| 1560 # The marketing names for NeXT's operating systems were | |
| 1561 # NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4. 'openstep' is | |
| 1562 # mapped to 'openstep3', but 'openstep1' and 'openstep2' are | |
| 1563 # mapped to 'nextstep' and 'nextstep2', consistent with the | |
| 1564 # treatment of SunOS/Solaris. | |
| 1565 ns | ns1 | nextstep | nextstep1 | openstep1) | |
| 1566 os=nextstep | |
| 1567 ;; | |
| 1568 ns2 | nextstep2 | openstep2) | |
| 1569 os=nextstep2 | |
| 1570 ;; | |
| 1571 ns3 | nextstep3 | openstep | openstep3) | |
| 1572 os=openstep3 | |
| 1573 ;; | |
| 1574 ns4 | nextstep4 | openstep4) | |
| 1575 os=openstep4 | |
| 1576 ;; | |
| 1577 # es1800 is here to avoid being matched by es* (a different OS) | |
| 1578 es1800*) | |
| 1579 os=ose | |
| 1580 ;; | |
| 1581 # Some version numbers need modification | |
| 1582 chorusos*) | |
| 1583 os=chorusos | |
| 1584 ;; | |
| 1585 isc) | |
| 1586 os=isc2.2 | |
| 1587 ;; | |
| 1588 sco6) | |
| 1589 os=sco5v6 | |
| 1590 ;; | |
| 1591 sco5) | |
| 1592 os=sco3.2v5 | |
| 1593 ;; | |
| 1594 sco4) | |
| 1595 os=sco3.2v4 | |
| 1596 ;; | |
| 1597 sco3.2.[4-9]*) | |
| 1598 os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` | |
| 1599 ;; | |
| 1600 sco*v* | scout) | |
| 1601 # Don't match below | |
| 1602 ;; | |
| 1603 sco*) | |
| 1604 os=sco3.2v2 | |
| 1605 ;; | |
| 1606 psos*) | |
| 1607 os=psos | |
| 1608 ;; | |
| 1609 qnx*) | |
| 1610 os=qnx | |
| 1611 ;; | |
| 1612 hiux*) | |
| 1613 os=hiuxwe2 | |
| 1614 ;; | |
| 1615 lynx*178) | |
| 1616 os=lynxos178 | |
| 1617 ;; | |
| 1618 lynx*5) | |
| 1619 os=lynxos5 | |
| 1620 ;; | |
| 1621 lynxos*) | |
| 1622 # don't get caught up in next wildcard | |
| 1623 ;; | |
| 1624 lynx*) | |
| 1625 os=lynxos | |
| 1626 ;; | |
| 1627 mac[0-9]*) | |
| 1628 os=`echo "$os" | sed -e 's|mac|macos|'` | |
| 1629 ;; | |
| 1630 opened*) | |
| 1631 os=openedition | |
| 1632 ;; | |
| 1633 os400*) | |
| 1634 os=os400 | |
| 1635 ;; | |
| 1636 sunos5*) | |
| 1637 os=`echo "$os" | sed -e 's|sunos5|solaris2|'` | |
| 1638 ;; | |
| 1639 sunos6*) | |
| 1640 os=`echo "$os" | sed -e 's|sunos6|solaris3|'` | |
| 1641 ;; | |
| 1642 wince*) | |
| 1643 os=wince | |
| 1644 ;; | |
| 1645 utek*) | |
| 1646 os=bsd | |
| 1647 vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'` | |
| 1648 ;; | |
| 1649 dynix*) | |
| 1650 os=bsd | |
| 1651 ;; | |
| 1652 acis*) | |
| 1653 os=aos | |
| 1654 ;; | |
| 1655 atheos*) | |
| 1656 os=atheos | |
| 1657 ;; | |
| 1658 syllable*) | |
| 1659 os=syllable | |
| 1660 ;; | |
| 1661 386bsd) | |
| 1662 os=bsd | |
| 1663 ;; | |
| 1664 ctix*) | |
| 1665 os=sysv | |
| 1666 vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'` | |
| 1667 ;; | |
| 1668 uts*) | |
| 1669 os=sysv | |
| 1670 ;; | |
| 1671 nova*) | |
| 1672 kernel=rtmk | |
| 1673 os=nova | |
| 1674 ;; | |
| 1675 # Preserve the version number of sinix5. | |
| 1676 sinix5.*) | |
| 1677 os=`echo "$os" | sed -e 's|sinix|sysv|'` | |
| 1678 vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'` | |
| 1679 ;; | |
| 1680 sinix*) | |
| 1681 os=sysv4 | |
| 1682 vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'` | |
| 1683 ;; | |
| 1684 tpf*) | |
| 1685 os=tpf | |
| 1686 ;; | |
| 1687 triton*) | |
| 1688 os=sysv3 | |
| 1689 ;; | |
| 1690 oss*) | |
| 1691 os=sysv3 | |
| 1692 ;; | |
| 1693 svr4*) | |
| 1694 os=sysv4 | |
| 1695 ;; | |
| 1696 svr3) | |
| 1697 os=sysv3 | |
| 1698 ;; | |
| 1699 sysvr4) | |
| 1700 os=sysv4 | |
| 1701 ;; | |
| 1702 ose*) | |
| 1703 os=ose | |
| 1704 ;; | |
| 1705 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) | |
| 1706 os=mint | |
| 1707 ;; | |
| 1708 dicos*) | |
| 1709 os=dicos | |
| 1710 ;; | |
| 1711 pikeos*) | |
| 1712 # Until real need of OS specific support for | |
| 1713 # particular features comes up, bare metal | |
| 1714 # configurations are quite functional. | |
| 1715 case $cpu in | |
| 1716 arm*) | |
| 1717 os=eabi | |
| 1718 ;; | |
| 1719 *) | |
| 1720 os= | |
| 1721 obj=elf | |
| 1722 ;; | |
| 1723 esac | |
| 1724 ;; | |
| 1725 aout* | coff* | elf* | pe*) | |
| 1726 # These are machine code file formats, not OSes | |
| 1727 obj=$os | |
| 1728 os= | |
| 1729 ;; | |
| 1730 *) | |
| 1731 # No normalization, but not necessarily accepted, that comes below. | |
| 1732 ;; | |
| 1733 esac | |
| 1734 | |
| 1735 else | |
| 1736 | |
| 1737 # Here we handle the default operating systems that come with various machines. | |
| 1738 # The value should be what the vendor currently ships out the door with their | |
| 1739 # machine or put another way, the most popular os provided with the machine. | |
| 1740 | |
| 1741 # Note that if you're going to try to match "-MANUFACTURER" here (say, | |
| 1742 # "-sun"), then you have to tell the case statement up towards the top | |
| 1743 # that MANUFACTURER isn't an operating system. Otherwise, code above | |
| 1744 # will signal an error saying that MANUFACTURER isn't an operating | |
| 1745 # system, and we'll never get to this point. | |
| 1746 | |
| 1747 kernel= | |
| 1748 obj= | |
| 1749 case $cpu-$vendor in | |
| 1750 score-*) | |
| 1751 os= | |
| 1752 obj=elf | |
| 1753 ;; | |
| 1754 spu-*) | |
| 1755 os= | |
| 1756 obj=elf | |
| 1757 ;; | |
| 1758 *-acorn) | |
| 1759 os=riscix1.2 | |
| 1760 ;; | |
| 1761 arm*-rebel) | |
| 1762 kernel=linux | |
| 1763 os=gnu | |
| 1764 ;; | |
| 1765 arm*-semi) | |
| 1766 os= | |
| 1767 obj=aout | |
| 1768 ;; | |
| 1769 c4x-* | tic4x-*) | |
| 1770 os= | |
| 1771 obj=coff | |
| 1772 ;; | |
| 1773 c8051-*) | |
| 1774 os= | |
| 1775 obj=elf | |
| 1776 ;; | |
| 1777 clipper-intergraph) | |
| 1778 os=clix | |
| 1779 ;; | |
| 1780 hexagon-*) | |
| 1781 os= | |
| 1782 obj=elf | |
| 1783 ;; | |
| 1784 tic54x-*) | |
| 1785 os= | |
| 1786 obj=coff | |
| 1787 ;; | |
| 1788 tic55x-*) | |
| 1789 os= | |
| 1790 obj=coff | |
| 1791 ;; | |
| 1792 tic6x-*) | |
| 1793 os= | |
| 1794 obj=coff | |
| 1795 ;; | |
| 1796 # This must come before the *-dec entry. | |
| 1797 pdp10-*) | |
| 1798 os=tops20 | |
| 1799 ;; | |
| 1800 pdp11-*) | |
| 1801 os=none | |
| 1802 ;; | |
| 1803 *-dec | vax-*) | |
| 1804 os=ultrix4.2 | |
| 1805 ;; | |
| 1806 m68*-apollo) | |
| 1807 os=domain | |
| 1808 ;; | |
| 1809 i386-sun) | |
| 1810 os=sunos4.0.2 | |
| 1811 ;; | |
| 1812 m68000-sun) | |
| 1813 os=sunos3 | |
| 1814 ;; | |
| 1815 m68*-cisco) | |
| 1816 os= | |
| 1817 obj=aout | |
| 1818 ;; | |
| 1819 mep-*) | |
| 1820 os= | |
| 1821 obj=elf | |
| 1822 ;; | |
| 1823 # The -sgi and -siemens entries must be before the mips- entry | |
| 1824 # or we get the wrong os. | |
| 1825 *-sgi) | |
| 1826 os=irix | |
| 1827 ;; | |
| 1828 *-siemens) | |
| 1829 os=sysv4 | |
| 1830 ;; | |
| 1831 mips*-cisco) | |
| 1832 os= | |
| 1833 obj=elf | |
| 1834 ;; | |
| 1835 mips*-*|nanomips*-*) | |
| 1836 os= | |
| 1837 obj=elf | |
| 1838 ;; | |
| 1839 or32-*) | |
| 1840 os= | |
| 1841 obj=coff | |
| 1842 ;; | |
| 1843 # This must be before the sparc-* entry or we get the wrong os. | |
| 1844 *-tti) | |
| 1845 os=sysv3 | |
| 1846 ;; | |
| 1847 sparc-* | *-sun) | |
| 1848 os=sunos4.1.1 | |
| 1849 ;; | |
| 1850 pru-*) | |
| 1851 os= | |
| 1852 obj=elf | |
| 1853 ;; | |
| 1854 *-be) | |
| 1855 os=beos | |
| 1856 ;; | |
| 1857 *-ibm) | |
| 1858 os=aix | |
| 1859 ;; | |
| 1860 *-knuth) | |
| 1861 os=mmixware | |
| 1862 ;; | |
| 1863 *-wec) | |
| 1864 os=proelf | |
| 1865 ;; | |
| 1866 *-winbond) | |
| 1867 os=proelf | |
| 1868 ;; | |
| 1869 *-oki) | |
| 1870 os=proelf | |
| 1871 ;; | |
| 1872 *-hp) | |
| 1873 os=hpux | |
| 1874 ;; | |
| 1875 *-hitachi) | |
| 1876 os=hiuxwe2 | |
| 1877 ;; | |
| 1878 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) | |
| 1879 os=sysv | |
| 1880 ;; | |
| 1881 *-cbm) | |
| 1882 os=amigaos | |
| 1883 ;; | |
| 1884 *-dg) | |
| 1885 os=dgux | |
| 1886 ;; | |
| 1887 *-dolphin) | |
| 1888 os=sysv3 | |
| 1889 ;; | |
| 1890 m68k-ccur) | |
| 1891 os=rtu | |
| 1892 ;; | |
| 1893 m88k-omron*) | |
| 1894 os=luna | |
| 1895 ;; | |
| 1896 *-next) | |
| 1897 os=nextstep | |
| 1898 ;; | |
| 1899 *-sequent) | |
| 1900 os=ptx | |
| 1901 ;; | |
| 1902 *-crds) | |
| 1903 os=unos | |
| 1904 ;; | |
| 1905 *-ns) | |
| 1906 os=genix | |
| 1907 ;; | |
| 1908 i370-*) | |
| 1909 os=mvs | |
| 1910 ;; | |
| 1911 *-gould) | |
| 1912 os=sysv | |
| 1913 ;; | |
| 1914 *-highlevel) | |
| 1915 os=bsd | |
| 1916 ;; | |
| 1917 *-encore) | |
| 1918 os=bsd | |
| 1919 ;; | |
| 1920 *-masscomp) | |
| 1921 os=rtu | |
| 1922 ;; | |
| 1923 f30[01]-fujitsu | f700-fujitsu) | |
| 1924 os=uxpv | |
| 1925 ;; | |
| 1926 *-rom68k) | |
| 1927 os= | |
| 1928 obj=coff | |
| 1929 ;; | |
| 1930 *-*bug) | |
| 1931 os= | |
| 1932 obj=coff | |
| 1933 ;; | |
| 1934 *-apple) | |
| 1935 os=macos | |
| 1936 ;; | |
| 1937 *-atari*) | |
| 1938 os=mint | |
| 1939 ;; | |
| 1940 *-wrs) | |
| 1941 os=vxworks | |
| 1942 ;; | |
| 1943 *) | |
| 1944 os=none | |
| 1945 ;; | |
| 1946 esac | |
| 1947 | |
| 1948 fi | |
| 1949 | |
| 1950 # Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). | |
| 1951 | |
| 1952 case $os in | |
| 1953 # Sometimes we do "kernel-libc", so those need to count as OSes. | |
| 1954 llvm* | musl* | newlib* | relibc* | uclibc*) | |
| 1955 ;; | |
| 1956 # Likewise for "kernel-abi" | |
| 1957 eabi* | gnueabi*) | |
| 1958 ;; | |
| 1959 # VxWorks passes extra cpu info in the 4th filed. | |
| 1960 simlinux | simwindows | spe) | |
| 1961 ;; | |
| 1962 # See `case $cpu-$os` validation below | |
| 1963 ghcjs) | |
| 1964 ;; | |
| 1965 # Now accept the basic system types. | |
| 1966 # Each alternative MUST end in a * to match a version number. | |
| 1967 abug \ | |
| 1968 | aix* \ | |
| 1969 | amdhsa* \ | |
| 1970 | amigados* \ | |
| 1971 | amigaos* \ | |
| 1972 | android* \ | |
| 1973 | aof* \ | |
| 1974 | aos* \ | |
| 1975 | aros* \ | |
| 1976 | atheos* \ | |
| 1977 | auroraux* \ | |
| 1978 | aux* \ | |
| 1979 | beos* \ | |
| 1980 | bitrig* \ | |
| 1981 | bme* \ | |
| 1982 | bosx* \ | |
| 1983 | bsd* \ | |
| 1984 | cegcc* \ | |
| 1985 | chorusos* \ | |
| 1986 | chorusrdb* \ | |
| 1987 | clix* \ | |
| 1988 | cloudabi* \ | |
| 1989 | cnk* \ | |
| 1990 | conix* \ | |
| 1991 | cos* \ | |
| 1992 | cxux* \ | |
| 1993 | cygwin* \ | |
| 1994 | darwin* \ | |
| 1995 | dgux* \ | |
| 1996 | dicos* \ | |
| 1997 | dnix* \ | |
| 1998 | domain* \ | |
| 1999 | dragonfly* \ | |
| 2000 | drops* \ | |
| 2001 | ebmon* \ | |
| 2002 | ecoff* \ | |
| 2003 | ekkobsd* \ | |
| 2004 | emscripten* \ | |
| 2005 | emx* \ | |
| 2006 | es* \ | |
| 2007 | fiwix* \ | |
| 2008 | freebsd* \ | |
| 2009 | fuchsia* \ | |
| 2010 | genix* \ | |
| 2011 | genode* \ | |
| 2012 | glidix* \ | |
| 2013 | gnu* \ | |
| 2014 | go32* \ | |
| 2015 | haiku* \ | |
| 2016 | hcos* \ | |
| 2017 | hiux* \ | |
| 2018 | hms* \ | |
| 2019 | hpux* \ | |
| 2020 | ieee* \ | |
| 2021 | interix* \ | |
| 2022 | ios* \ | |
| 2023 | iris* \ | |
| 2024 | irix* \ | |
| 2025 | ironclad* \ | |
| 2026 | isc* \ | |
| 2027 | its* \ | |
| 2028 | l4re* \ | |
| 2029 | libertybsd* \ | |
| 2030 | lites* \ | |
| 2031 | lnews* \ | |
| 2032 | luna* \ | |
| 2033 | lynxos* \ | |
| 2034 | mach* \ | |
| 2035 | macos* \ | |
| 2036 | magic* \ | |
| 2037 | mbr* \ | |
| 2038 | midipix* \ | |
| 2039 | midnightbsd* \ | |
| 2040 | mingw32* \ | |
| 2041 | mingw64* \ | |
| 2042 | minix* \ | |
| 2043 | mint* \ | |
| 2044 | mirbsd* \ | |
| 2045 | mks* \ | |
| 2046 | mlibc* \ | |
| 2047 | mmixware* \ | |
| 2048 | mon960* \ | |
| 2049 | morphos* \ | |
| 2050 | moss* \ | |
| 2051 | moxiebox* \ | |
| 2052 | mpeix* \ | |
| 2053 | mpw* \ | |
| 2054 | msdos* \ | |
| 2055 | msys* \ | |
| 2056 | mvs* \ | |
| 2057 | nacl* \ | |
| 2058 | netbsd* \ | |
| 2059 | netware* \ | |
| 2060 | newsos* \ | |
| 2061 | nextstep* \ | |
| 2062 | nindy* \ | |
| 2063 | nonstopux* \ | |
| 2064 | nova* \ | |
| 2065 | nsk* \ | |
| 2066 | nucleus* \ | |
| 2067 | nx6 \ | |
| 2068 | nx7 \ | |
| 2069 | oabi* \ | |
| 2070 | ohos* \ | |
| 2071 | onefs* \ | |
| 2072 | openbsd* \ | |
| 2073 | openedition* \ | |
| 2074 | openstep* \ | |
| 2075 | os108* \ | |
| 2076 | os2* \ | |
| 2077 | os400* \ | |
| 2078 | os68k* \ | |
| 2079 | os9* \ | |
| 2080 | ose* \ | |
| 2081 | osf* \ | |
| 2082 | oskit* \ | |
| 2083 | osx* \ | |
| 2084 | palmos* \ | |
| 2085 | phoenix* \ | |
| 2086 | plan9* \ | |
| 2087 | powermax* \ | |
| 2088 | powerunix* \ | |
| 2089 | proelf* \ | |
| 2090 | psos* \ | |
| 2091 | psp* \ | |
| 2092 | ptx* \ | |
| 2093 | pw32* \ | |
| 2094 | qnx* \ | |
| 2095 | rdos* \ | |
| 2096 | redox* \ | |
| 2097 | rhapsody* \ | |
| 2098 | riscix* \ | |
| 2099 | riscos* \ | |
| 2100 | rtems* \ | |
| 2101 | rtmk* \ | |
| 2102 | rtu* \ | |
| 2103 | scout* \ | |
| 2104 | secbsd* \ | |
| 2105 | sei* \ | |
| 2106 | serenity* \ | |
| 2107 | sim* \ | |
| 2108 | skyos* \ | |
| 2109 | solaris* \ | |
| 2110 | solidbsd* \ | |
| 2111 | sortix* \ | |
| 2112 | storm-chaos* \ | |
| 2113 | sunos \ | |
| 2114 | sunos[34]* \ | |
| 2115 | superux* \ | |
| 2116 | syllable* \ | |
| 2117 | sym* \ | |
| 2118 | sysv* \ | |
| 2119 | tenex* \ | |
| 2120 | tirtos* \ | |
| 2121 | toppers* \ | |
| 2122 | tops10* \ | |
| 2123 | tops20* \ | |
| 2124 | tpf* \ | |
| 2125 | tvos* \ | |
| 2126 | twizzler* \ | |
| 2127 | uclinux* \ | |
| 2128 | udi* \ | |
| 2129 | udk* \ | |
| 2130 | ultrix* \ | |
| 2131 | unicos* \ | |
| 2132 | uniplus* \ | |
| 2133 | unleashed* \ | |
| 2134 | unos* \ | |
| 2135 | uwin* \ | |
| 2136 | uxpv* \ | |
| 2137 | v88r* \ | |
| 2138 |*vms* \ | |
| 2139 | vos* \ | |
| 2140 | vsta* \ | |
| 2141 | vxsim* \ | |
| 2142 | vxworks* \ | |
| 2143 | wasi* \ | |
| 2144 | watchos* \ | |
| 2145 | wince* \ | |
| 2146 | windiss* \ | |
| 2147 | windows* \ | |
| 2148 | winnt* \ | |
| 2149 | xenix* \ | |
| 2150 | xray* \ | |
| 2151 | zephyr* \ | |
| 2152 | zvmoe* ) | |
| 2153 ;; | |
| 2154 # This one is extra strict with allowed versions | |
| 2155 sco3.2v2 | sco3.2v[4-9]* | sco5v6*) | |
| 2156 # Don't forget version if it is 3.2v4 or newer. | |
| 2157 ;; | |
| 2158 # This refers to builds using the UEFI calling convention | |
| 2159 # (which depends on the architecture) and PE file format. | |
| 2160 # Note that this is both a different calling convention and | |
| 2161 # different file format than that of GNU-EFI | |
| 2162 # (x86_64-w64-mingw32). | |
| 2163 uefi) | |
| 2164 ;; | |
| 2165 none) | |
| 2166 ;; | |
| 2167 kernel* | msvc* ) | |
| 2168 # Restricted further below | |
| 2169 ;; | |
| 2170 '') | |
| 2171 if test x"$obj" = x | |
| 2172 then | |
| 2173 echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 | |
| 2174 fi | |
| 2175 ;; | |
| 2176 *) | |
| 2177 echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 | |
| 2178 exit 1 | |
| 2179 ;; | |
| 2180 esac | |
| 2181 | |
| 2182 case $obj in | |
| 2183 aout* | coff* | elf* | pe*) | |
| 2184 ;; | |
| 2185 '') | |
| 2186 # empty is fine | |
| 2187 ;; | |
| 2188 *) | |
| 2189 echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 | |
| 2190 exit 1 | |
| 2191 ;; | |
| 2192 esac | |
| 2193 | |
| 2194 # Here we handle the constraint that a (synthetic) cpu and os are | |
| 2195 # valid only in combination with each other and nowhere else. | |
| 2196 case $cpu-$os in | |
| 2197 # The "javascript-unknown-ghcjs" triple is used by GHC; we | |
| 2198 # accept it here in order to tolerate that, but reject any | |
| 2199 # variations. | |
| 2200 javascript-ghcjs) | |
| 2201 ;; | |
| 2202 javascript-* | *-ghcjs) | |
| 2203 echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 | |
| 2204 exit 1 | |
| 2205 ;; | |
| 2206 esac | |
| 2207 | |
| 2208 # As a final step for OS-related things, validate the OS-kernel combination | |
| 2209 # (given a valid OS), if there is a kernel. | |
| 2210 case $kernel-$os-$obj in | |
| 2211 linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ | |
| 2212 | linux-mlibc*- | linux-musl*- | linux-newlib*- \ | |
| 2213 | linux-relibc*- | linux-uclibc*- | linux-ohos*- ) | |
| 2214 ;; | |
| 2215 uclinux-uclibc*- | uclinux-gnu*- ) | |
| 2216 ;; | |
| 2217 managarm-mlibc*- | managarm-kernel*- ) | |
| 2218 ;; | |
| 2219 windows*-msvc*-) | |
| 2220 ;; | |
| 2221 -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ | |
| 2222 | -uclibc*- ) | |
| 2223 # These are just libc implementations, not actual OSes, and thus | |
| 2224 # require a kernel. | |
| 2225 echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 | |
| 2226 exit 1 | |
| 2227 ;; | |
| 2228 -kernel*- ) | |
| 2229 echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 | |
| 2230 exit 1 | |
| 2231 ;; | |
| 2232 *-kernel*- ) | |
| 2233 echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 | |
| 2234 exit 1 | |
| 2235 ;; | |
| 2236 *-msvc*- ) | |
| 2237 echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 | |
| 2238 exit 1 | |
| 2239 ;; | |
| 2240 kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-) | |
| 2241 ;; | |
| 2242 vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) | |
| 2243 ;; | |
| 2244 nto-qnx*-) | |
| 2245 ;; | |
| 2246 os2-emx-) | |
| 2247 ;; | |
| 2248 rtmk-nova-) | |
| 2249 ;; | |
| 2250 *-eabi*- | *-gnueabi*-) | |
| 2251 ;; | |
| 2252 none--*) | |
| 2253 # None (no kernel, i.e. freestanding / bare metal), | |
| 2254 # can be paired with an machine code file format | |
| 2255 ;; | |
| 2256 -*-) | |
| 2257 # Blank kernel with real OS is always fine. | |
| 2258 ;; | |
| 2259 --*) | |
| 2260 # Blank kernel and OS with real machine code file format is always fine. | |
| 2261 ;; | |
| 2262 *-*-*) | |
| 2263 echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 | |
| 2264 exit 1 | |
| 2265 ;; | |
| 2266 esac | |
| 2267 | |
| 2268 # Here we handle the case where we know the os, and the CPU type, but not the | |
| 2269 # manufacturer. We pick the logical manufacturer. | |
| 2270 case $vendor in | |
| 2271 unknown) | |
| 2272 case $cpu-$os in | |
| 2273 *-riscix*) | |
| 2274 vendor=acorn | |
| 2275 ;; | |
| 2276 *-sunos* | *-solaris*) | |
| 2277 vendor=sun | |
| 2278 ;; | |
| 2279 *-cnk* | *-aix*) | |
| 2280 vendor=ibm | |
| 2281 ;; | |
| 2282 *-beos*) | |
| 2283 vendor=be | |
| 2284 ;; | |
| 2285 *-hpux*) | |
| 2286 vendor=hp | |
| 2287 ;; | |
| 2288 *-mpeix*) | |
| 2289 vendor=hp | |
| 2290 ;; | |
| 2291 *-hiux*) | |
| 2292 vendor=hitachi | |
| 2293 ;; | |
| 2294 *-unos*) | |
| 2295 vendor=crds | |
| 2296 ;; | |
| 2297 *-dgux*) | |
| 2298 vendor=dg | |
| 2299 ;; | |
| 2300 *-luna*) | |
| 2301 vendor=omron | |
| 2302 ;; | |
| 2303 *-genix*) | |
| 2304 vendor=ns | |
| 2305 ;; | |
| 2306 *-clix*) | |
| 2307 vendor=intergraph | |
| 2308 ;; | |
| 2309 *-mvs* | *-opened*) | |
| 2310 vendor=ibm | |
| 2311 ;; | |
| 2312 *-os400*) | |
| 2313 vendor=ibm | |
| 2314 ;; | |
| 2315 s390-* | s390x-*) | |
| 2316 vendor=ibm | |
| 2317 ;; | |
| 2318 *-ptx*) | |
| 2319 vendor=sequent | |
| 2320 ;; | |
| 2321 *-tpf*) | |
| 2322 vendor=ibm | |
| 2323 ;; | |
| 2324 *-vxsim* | *-vxworks* | *-windiss*) | |
| 2325 vendor=wrs | |
| 2326 ;; | |
| 2327 *-aux*) | |
| 2328 vendor=apple | |
| 2329 ;; | |
| 2330 *-hms*) | |
| 2331 vendor=hitachi | |
| 2332 ;; | |
| 2333 *-mpw* | *-macos*) | |
| 2334 vendor=apple | |
| 2335 ;; | |
| 2336 *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) | |
| 2337 vendor=atari | |
| 2338 ;; | |
| 2339 *-vos*) | |
| 2340 vendor=stratus | |
| 2341 ;; | |
| 2342 esac | |
| 2343 ;; | |
| 2344 esac | |
| 2345 | |
| 2346 echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" | |
| 2347 exit | |
| 2348 | |
| 2349 # Local variables: | |
| 2350 # eval: (add-hook 'before-save-hook 'time-stamp) | |
| 2351 # time-stamp-start: "timestamp='" | |
| 2352 # time-stamp-format: "%:y-%02m-%02d" | |
| 2353 # time-stamp-end: "'" | |
| 2354 # End: |