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