Annotation of embedaddon/readline/support/config.sub, revision 1.1.1.2
1.1 misho 1: #! /bin/sh
2: # Configuration validation subroutine script.
1.1.1.2 ! misho 3: # Copyright 1992-2020 Free Software Foundation, Inc.
1.1 misho 4:
1.1.1.2 ! misho 5: timestamp='2020-11-07'
1.1 misho 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
1.1.1.2 ! misho 18: # along with this program; if not, see <https://www.gnu.org/licenses/>.
1.1 misho 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:
1.1.1.2 ! misho 28: # Please send patches to <config-patches@gnu.org>.
1.1 misho 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:
1.1.1.2 ! misho 36: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1.1 misho 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:
1.1.1.2 ! misho 53: me=$(echo "$0" | sed -e 's,.*/,,')
1.1 misho 54:
55: usage="\
1.1.1.2 ! misho 56: Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
1.1 misho 57:
58: Canonicalize a configuration name.
59:
1.1.1.2 ! misho 60: Options:
1.1 misho 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:
1.1.1.2 ! misho 70: Copyright 1992-2020 Free Software Foundation, Inc.
1.1 misho 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: -* )
1.1.1.2 ! misho 92: echo "$me: invalid option $1$help" >&2
1.1 misho 93: exit 1 ;;
94:
95: *local*)
96: # First pass through any local machine types.
1.1.1.2 ! misho 97: echo "$1"
1.1 misho 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:
1.1.1.2 ! misho 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
1.1 misho 124: ;;
1.1.1.2 ! misho 125: *-*-*-*)
! 126: basic_machine=$field1-$field2
! 127: basic_os=$field3-$field4
1.1 misho 128: ;;
1.1.1.2 ! misho 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
1.1 misho 150: ;;
1.1.1.2 ! misho 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
1.1 misho 186: ;;
1.1.1.2 ! misho 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
1.1 misho 640: ;;
641: esac
642:
1.1.1.2 ! misho 643: # Decode 1-component or ad-hoc basic machines
1.1 misho 644: case $basic_machine in
1.1.1.2 ! misho 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
1.1 misho 650: ;;
1.1.1.2 ! misho 651: op50n)
! 652: cpu=hppa1.1
! 653: vendor=oki
1.1 misho 654: ;;
1.1.1.2 ! misho 655: op60c)
! 656: cpu=hppa1.1
! 657: vendor=oki
1.1 misho 658: ;;
1.1.1.2 ! misho 659: ibm*)
! 660: cpu=i370
! 661: vendor=ibm
1.1 misho 662: ;;
1.1.1.2 ! misho 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
1.1 misho 674: ;;
1.1.1.2 ! misho 675:
1.1 misho 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)
1.1.1.2 ! misho 679: cpu=m68000
! 680: vendor=att
1.1 misho 681: ;;
682: 3b*)
1.1.1.2 ! misho 683: cpu=we32k
! 684: vendor=att
1.1 misho 685: ;;
686: bluegene*)
1.1.1.2 ! misho 687: cpu=powerpc
! 688: vendor=ibm
! 689: basic_os=cnk
1.1 misho 690: ;;
691: decsystem10* | dec10*)
1.1.1.2 ! misho 692: cpu=pdp10
! 693: vendor=dec
! 694: basic_os=tops10
1.1 misho 695: ;;
696: decsystem20* | dec20*)
1.1.1.2 ! misho 697: cpu=pdp10
! 698: vendor=dec
! 699: basic_os=tops20
1.1 misho 700: ;;
701: delta | 3300 | motorola-3300 | motorola-delta \
702: | 3300-motorola | delta-motorola)
1.1.1.2 ! misho 703: cpu=m68k
! 704: vendor=motorola
1.1 misho 705: ;;
1.1.1.2 ! misho 706: dpx2*)
! 707: cpu=m68k
! 708: vendor=bull
! 709: basic_os=sysv3
1.1 misho 710: ;;
711: encore | umax | mmax)
1.1.1.2 ! misho 712: cpu=ns32k
! 713: vendor=encore
1.1 misho 714: ;;
1.1.1.2 ! misho 715: elxsi)
! 716: cpu=elxsi
! 717: vendor=elxsi
! 718: basic_os=${basic_os:-bsd}
1.1 misho 719: ;;
720: fx2800)
1.1.1.2 ! misho 721: cpu=i860
! 722: vendor=alliant
1.1 misho 723: ;;
724: genix)
1.1.1.2 ! misho 725: cpu=ns32k
! 726: vendor=ns
1.1 misho 727: ;;
728: h3050r* | hiux*)
1.1.1.2 ! misho 729: cpu=hppa1.1
! 730: vendor=hitachi
! 731: basic_os=hiuxwe2
1.1 misho 732: ;;
733: hp3k9[0-9][0-9] | hp9[0-9][0-9])
1.1.1.2 ! misho 734: cpu=hppa1.0
! 735: vendor=hp
1.1 misho 736: ;;
737: hp9k2[0-9][0-9] | hp9k31[0-9])
1.1.1.2 ! misho 738: cpu=m68000
! 739: vendor=hp
1.1 misho 740: ;;
741: hp9k3[2-9][0-9])
1.1.1.2 ! misho 742: cpu=m68k
! 743: vendor=hp
1.1 misho 744: ;;
745: hp9k6[0-9][0-9] | hp6[0-9][0-9])
1.1.1.2 ! misho 746: cpu=hppa1.0
! 747: vendor=hp
1.1 misho 748: ;;
749: hp9k7[0-79][0-9] | hp7[0-79][0-9])
1.1.1.2 ! misho 750: cpu=hppa1.1
! 751: vendor=hp
1.1 misho 752: ;;
753: hp9k78[0-9] | hp78[0-9])
754: # FIXME: really hppa2.0-hp
1.1.1.2 ! misho 755: cpu=hppa1.1
! 756: vendor=hp
1.1 misho 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
1.1.1.2 ! misho 760: cpu=hppa1.1
! 761: vendor=hp
1.1 misho 762: ;;
763: hp9k8[0-9][13679] | hp8[0-9][13679])
1.1.1.2 ! misho 764: cpu=hppa1.1
! 765: vendor=hp
1.1 misho 766: ;;
767: hp9k8[0-9][0-9] | hp8[0-9][0-9])
1.1.1.2 ! misho 768: cpu=hppa1.0
! 769: vendor=hp
1.1 misho 770: ;;
771: i*86v32)
1.1.1.2 ! misho 772: cpu=$(echo "$1" | sed -e 's/86.*/86/')
! 773: vendor=pc
! 774: basic_os=sysv32
1.1 misho 775: ;;
776: i*86v4*)
1.1.1.2 ! misho 777: cpu=$(echo "$1" | sed -e 's/86.*/86/')
! 778: vendor=pc
! 779: basic_os=sysv4
1.1 misho 780: ;;
781: i*86v)
1.1.1.2 ! misho 782: cpu=$(echo "$1" | sed -e 's/86.*/86/')
! 783: vendor=pc
! 784: basic_os=sysv
1.1 misho 785: ;;
786: i*86sol2)
1.1.1.2 ! misho 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}
1.1 misho 795: ;;
796: iris | iris4d)
1.1.1.2 ! misho 797: cpu=mips
! 798: vendor=sgi
! 799: case $basic_os in
! 800: irix*)
1.1 misho 801: ;;
802: *)
1.1.1.2 ! misho 803: basic_os=irix4
1.1 misho 804: ;;
805: esac
806: ;;
807: miniframe)
1.1.1.2 ! misho 808: cpu=m68000
! 809: vendor=convergent
1.1 misho 810: ;;
1.1.1.2 ! misho 811: *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
! 812: cpu=m68k
! 813: vendor=atari
! 814: basic_os=mint
1.1 misho 815: ;;
816: news-3600 | risc-news)
1.1.1.2 ! misho 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*)
1.1 misho 828: ;;
1.1.1.2 ! misho 829: ns2*)
! 830: basic_os=nextstep2
1.1 misho 831: ;;
832: *)
1.1.1.2 ! misho 833: basic_os=nextstep3
1.1 misho 834: ;;
835: esac
836: ;;
837: np1)
1.1.1.2 ! misho 838: cpu=np1
! 839: vendor=gould
1.1 misho 840: ;;
841: op50n-* | op60c-*)
1.1.1.2 ! misho 842: cpu=hppa1.1
! 843: vendor=oki
! 844: basic_os=proelf
1.1 misho 845: ;;
846: pa-hitachi)
1.1.1.2 ! misho 847: cpu=hppa1.1
! 848: vendor=hitachi
! 849: basic_os=hiuxwe2
1.1 misho 850: ;;
851: pbd)
1.1.1.2 ! misho 852: cpu=sparc
! 853: vendor=tti
1.1 misho 854: ;;
855: pbb)
1.1.1.2 ! misho 856: cpu=m68k
! 857: vendor=tti
1.1 misho 858: ;;
1.1.1.2 ! misho 859: pc532)
! 860: cpu=ns32k
! 861: vendor=pc532
1.1 misho 862: ;;
863: pn)
1.1.1.2 ! misho 864: cpu=pn
! 865: vendor=gould
1.1 misho 866: ;;
1.1.1.2 ! misho 867: power)
! 868: cpu=power
! 869: vendor=ibm
1.1 misho 870: ;;
871: ps2)
1.1.1.2 ! misho 872: cpu=i386
! 873: vendor=ibm
1.1 misho 874: ;;
875: rm[46]00)
1.1.1.2 ! misho 876: cpu=mips
! 877: vendor=siemens
1.1 misho 878: ;;
879: rtpc | rtpc-*)
1.1.1.2 ! misho 880: cpu=romp
! 881: vendor=ibm
1.1 misho 882: ;;
1.1.1.2 ! misho 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
1.1 misho 892: ;;
1.1.1.2 ! misho 893: tower | tower-32)
! 894: cpu=m68k
! 895: vendor=ncr
1.1 misho 896: ;;
1.1.1.2 ! misho 897: vpp*|vx|vx-*)
! 898: cpu=f301
! 899: vendor=fujitsu
1.1 misho 900: ;;
1.1.1.2 ! misho 901: w65)
! 902: cpu=w65
! 903: vendor=wdc
1.1 misho 904: ;;
1.1.1.2 ! misho 905: w89k-*)
! 906: cpu=hppa1.1
! 907: vendor=winbond
! 908: basic_os=proelf
1.1 misho 909: ;;
1.1.1.2 ! misho 910: none)
! 911: cpu=none
! 912: vendor=none
1.1 misho 913: ;;
1.1.1.2 ! misho 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
1.1 misho 928: ;;
1.1.1.2 ! misho 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
1.1 misho 935: ;;
1.1.1.2 ! misho 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
1.1 misho 950: ;;
1.1.1.2 ! misho 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}
1.1 misho 962: ;;
1.1.1.2 ! misho 963: c90-unknown | c90-cray)
! 964: vendor=cray
! 965: basic_os=${Basic_os:-unicos}
1.1 misho 966: ;;
1.1.1.2 ! misho 967: fx80-unknown)
! 968: vendor=alliant
1.1 misho 969: ;;
1.1.1.2 ! misho 970: romp-unknown)
! 971: vendor=ibm
1.1 misho 972: ;;
1.1.1.2 ! misho 973: mmix-unknown)
! 974: vendor=knuth
1.1 misho 975: ;;
1.1.1.2 ! misho 976: microblaze-unknown | microblazeel-unknown)
! 977: vendor=xilinx
1.1 misho 978: ;;
1.1.1.2 ! misho 979: rs6000-unknown)
! 980: vendor=ibm
1.1 misho 981: ;;
1.1.1.2 ! misho 982: vax-unknown)
! 983: vendor=dec
1.1 misho 984: ;;
1.1.1.2 ! misho 985: pdp11-unknown)
! 986: vendor=dec
1.1 misho 987: ;;
1.1.1.2 ! misho 988: we32k-unknown)
! 989: vendor=att
1.1 misho 990: ;;
1.1.1.2 ! misho 991: cydra-unknown)
! 992: vendor=cydrome
1.1 misho 993: ;;
1.1.1.2 ! misho 994: i370-ibm*)
! 995: vendor=ibm
1.1 misho 996: ;;
1.1.1.2 ! misho 997: orion-unknown)
! 998: vendor=highlevel
1.1 misho 999: ;;
1.1.1.2 ! misho 1000: xps-unknown | xps100-unknown)
! 1001: cpu=xps100
! 1002: vendor=honeywell
1.1 misho 1003: ;;
1.1.1.2 ! misho 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}
1.1 misho 1010: ;;
1.1.1.2 ! misho 1011:
! 1012: # Here we normalize CPU types irrespective of the vendor
! 1013: amd64-*)
! 1014: cpu=x86_64
1.1 misho 1015: ;;
1.1.1.2 ! misho 1016: blackfin-*)
! 1017: cpu=bfin
! 1018: basic_os=linux
1.1 misho 1019: ;;
1.1.1.2 ! misho 1020: c54x-*)
! 1021: cpu=tic54x
1.1 misho 1022: ;;
1.1.1.2 ! misho 1023: c55x-*)
! 1024: cpu=tic55x
1.1 misho 1025: ;;
1.1.1.2 ! misho 1026: c6x-*)
! 1027: cpu=tic6x
1.1 misho 1028: ;;
1.1.1.2 ! misho 1029: e500v[12]-*)
! 1030: cpu=powerpc
! 1031: basic_os=${basic_os}"spe"
1.1 misho 1032: ;;
1.1.1.2 ! misho 1033: mips3*-*)
! 1034: cpu=mips64
1.1 misho 1035: ;;
1.1.1.2 ! misho 1036: ms1-*)
! 1037: cpu=mt
1.1 misho 1038: ;;
1.1.1.2 ! misho 1039: m68knommu-*)
! 1040: cpu=m68k
! 1041: basic_os=linux
1.1 misho 1042: ;;
1.1.1.2 ! misho 1043: m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
! 1044: cpu=s12z
1.1 misho 1045: ;;
1.1.1.2 ! misho 1046: openrisc-*)
! 1047: cpu=or32
1.1 misho 1048: ;;
1.1.1.2 ! misho 1049: parisc-*)
! 1050: cpu=hppa
! 1051: basic_os=linux
1.1 misho 1052: ;;
1.1.1.2 ! misho 1053: pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
! 1054: cpu=i586
1.1 misho 1055: ;;
1.1.1.2 ! misho 1056: pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
! 1057: cpu=i686
1.1 misho 1058: ;;
1.1.1.2 ! misho 1059: pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
! 1060: cpu=i686
1.1 misho 1061: ;;
1.1.1.2 ! misho 1062: pentium4-*)
! 1063: cpu=i786
1.1 misho 1064: ;;
1.1.1.2 ! misho 1065: pc98-*)
! 1066: cpu=i386
1.1 misho 1067: ;;
1.1.1.2 ! misho 1068: ppc-* | ppcbe-*)
! 1069: cpu=powerpc
1.1 misho 1070: ;;
1.1.1.2 ! misho 1071: ppcle-* | powerpclittle-*)
! 1072: cpu=powerpcle
1.1 misho 1073: ;;
1.1.1.2 ! misho 1074: ppc64-*)
! 1075: cpu=powerpc64
1.1 misho 1076: ;;
1.1.1.2 ! misho 1077: ppc64le-* | powerpc64little-*)
! 1078: cpu=powerpc64le
1.1 misho 1079: ;;
1.1.1.2 ! misho 1080: sb1-*)
! 1081: cpu=mipsisa64sb1
1.1 misho 1082: ;;
1.1.1.2 ! misho 1083: sb1el-*)
! 1084: cpu=mipsisa64sb1el
1.1 misho 1085: ;;
1.1.1.2 ! misho 1086: sh5e[lb]-*)
! 1087: cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
1.1 misho 1088: ;;
1.1.1.2 ! misho 1089: spur-*)
! 1090: cpu=spur
1.1 misho 1091: ;;
1.1.1.2 ! misho 1092: strongarm-* | thumb-*)
! 1093: cpu=arm
1.1 misho 1094: ;;
1.1.1.2 ! misho 1095: tx39-*)
! 1096: cpu=mipstx39
1.1 misho 1097: ;;
1.1.1.2 ! misho 1098: tx39el-*)
! 1099: cpu=mipstx39el
1.1 misho 1100: ;;
1.1.1.2 ! misho 1101: x64-*)
! 1102: cpu=x86_64
1.1 misho 1103: ;;
1.1.1.2 ! misho 1104: xscale-* | xscalee[bl]-*)
! 1105: cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
1.1 misho 1106: ;;
1.1.1.2 ! misho 1107: arm64-*)
! 1108: cpu=aarch64
1.1 misho 1109: ;;
1.1.1.2 ! misho 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}
1.1 misho 1115: ;;
1.1.1.2 ! misho 1116: crisv32-* | etraxfs*-*)
! 1117: cpu=crisv32
! 1118: vendor=axis
1.1 misho 1119: ;;
1.1.1.2 ! misho 1120: cris-* | etrax*-*)
! 1121: cpu=cris
! 1122: vendor=axis
1.1 misho 1123: ;;
1.1.1.2 ! misho 1124: crx-*)
! 1125: basic_os=${basic_os:-elf}
1.1 misho 1126: ;;
1.1.1.2 ! misho 1127: neo-tandem)
! 1128: cpu=neo
! 1129: vendor=tandem
1.1 misho 1130: ;;
1.1.1.2 ! misho 1131: nse-tandem)
! 1132: cpu=nse
! 1133: vendor=tandem
1.1 misho 1134: ;;
1.1.1.2 ! misho 1135: nsr-tandem)
! 1136: cpu=nsr
! 1137: vendor=tandem
1.1 misho 1138: ;;
1.1.1.2 ! misho 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
1.1 misho 1150: ;;
1.1.1.2 ! misho 1151: tile*-*)
! 1152: basic_os=${basic_os:-linux-gnu}
1.1 misho 1153: ;;
1.1.1.2 ! misho 1154:
1.1 misho 1155: *)
1.1.1.2 ! misho 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: | m32c | m32r | m32rle \
! 1189: | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
! 1190: | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
! 1191: | m88110 | m88k | maxq | mb | mcore | mep | metag \
! 1192: | microblaze | microblazeel \
! 1193: | mips | mipsbe | mipseb | mipsel | mipsle \
! 1194: | mips16 \
! 1195: | mips64 | mips64eb | mips64el \
! 1196: | mips64octeon | mips64octeonel \
! 1197: | mips64orion | mips64orionel \
! 1198: | mips64r5900 | mips64r5900el \
! 1199: | mips64vr | mips64vrel \
! 1200: | mips64vr4100 | mips64vr4100el \
! 1201: | mips64vr4300 | mips64vr4300el \
! 1202: | mips64vr5000 | mips64vr5000el \
! 1203: | mips64vr5900 | mips64vr5900el \
! 1204: | mipsisa32 | mipsisa32el \
! 1205: | mipsisa32r2 | mipsisa32r2el \
! 1206: | mipsisa32r6 | mipsisa32r6el \
! 1207: | mipsisa64 | mipsisa64el \
! 1208: | mipsisa64r2 | mipsisa64r2el \
! 1209: | mipsisa64r6 | mipsisa64r6el \
! 1210: | mipsisa64sb1 | mipsisa64sb1el \
! 1211: | mipsisa64sr71k | mipsisa64sr71kel \
! 1212: | mipsr5900 | mipsr5900el \
! 1213: | mipstx39 | mipstx39el \
! 1214: | mmix \
! 1215: | mn10200 | mn10300 \
! 1216: | moxie \
! 1217: | mt \
! 1218: | msp430 \
! 1219: | nds32 | nds32le | nds32be \
! 1220: | nfp \
! 1221: | nios | nios2 | nios2eb | nios2el \
! 1222: | none | np1 | ns16k | ns32k | nvptx \
! 1223: | open8 \
! 1224: | or1k* \
! 1225: | or32 \
! 1226: | orion \
! 1227: | picochip \
! 1228: | pdp10 | pdp11 | pj | pjl | pn | power \
! 1229: | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
! 1230: | pru \
! 1231: | pyramid \
! 1232: | riscv | riscv32 | riscv64 \
! 1233: | rl78 | romp | rs6000 | rx \
! 1234: | s390 | s390x \
! 1235: | score \
! 1236: | sh | shl \
! 1237: | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
! 1238: | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
! 1239: | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
! 1240: | sparclite \
! 1241: | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
! 1242: | spu \
! 1243: | tahoe \
! 1244: | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
! 1245: | tron \
! 1246: | ubicom32 \
! 1247: | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
! 1248: | vax \
! 1249: | visium \
! 1250: | w65 \
! 1251: | wasm32 | wasm64 \
! 1252: | we32k \
! 1253: | x86 | x86_64 | xc16x | xgate | xps100 \
! 1254: | xstormy16 | xtensa* \
! 1255: | ymp \
! 1256: | z8k | z80)
! 1257: ;;
! 1258:
! 1259: *)
! 1260: echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
! 1261: exit 1
! 1262: ;;
! 1263: esac
1.1 misho 1264: ;;
1265: esac
1266:
1267: # Here we canonicalize certain aliases for manufacturers.
1.1.1.2 ! misho 1268: case $vendor in
! 1269: digital*)
! 1270: vendor=dec
1.1 misho 1271: ;;
1.1.1.2 ! misho 1272: commodore*)
! 1273: vendor=cbm
1.1 misho 1274: ;;
1275: *)
1276: ;;
1277: esac
1278:
1279: # Decode manufacturer-specific aliases for certain operating systems.
1280:
1.1.1.2 ! misho 1281: if test x$basic_os != x
1.1 misho 1282: then
1.1.1.2 ! misho 1283:
! 1284: # First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
! 1285: # set os.
! 1286: case $basic_os in
! 1287: gnu/linux*)
! 1288: kernel=linux
! 1289: os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
! 1290: ;;
! 1291: os2-emx)
! 1292: kernel=os2
! 1293: os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
! 1294: ;;
! 1295: nto-qnx*)
! 1296: kernel=nto
! 1297: os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
! 1298: ;;
! 1299: *-*)
! 1300: # shellcheck disable=SC2162
! 1301: IFS="-" read kernel os <<EOF
! 1302: $basic_os
! 1303: EOF
! 1304: ;;
! 1305: # Default OS when just kernel was specified
! 1306: nto*)
! 1307: kernel=nto
! 1308: os=$(echo $basic_os | sed -e 's|nto|qnx|')
! 1309: ;;
! 1310: linux*)
! 1311: kernel=linux
! 1312: os=$(echo $basic_os | sed -e 's|linux|gnu|')
! 1313: ;;
! 1314: *)
! 1315: kernel=
! 1316: os=$basic_os
! 1317: ;;
! 1318: esac
! 1319:
! 1320: # Now, normalize the OS (knowing we just have one component, it's not a kernel,
! 1321: # etc.)
1.1 misho 1322: case $os in
1.1.1.2 ! misho 1323: # First match some system type aliases that might get confused
! 1324: # with valid system types.
! 1325: # solaris* is a basic system type, with this one exception.
! 1326: auroraux)
! 1327: os=auroraux
1.1 misho 1328: ;;
1.1.1.2 ! misho 1329: bluegene*)
! 1330: os=cnk
1.1 misho 1331: ;;
1.1.1.2 ! misho 1332: solaris1 | solaris1.*)
! 1333: os=$(echo $os | sed -e 's|solaris1|sunos4|')
1.1 misho 1334: ;;
1.1.1.2 ! misho 1335: solaris)
! 1336: os=solaris2
1.1 misho 1337: ;;
1.1.1.2 ! misho 1338: unixware*)
! 1339: os=sysv4.2uw
1.1 misho 1340: ;;
1.1.1.2 ! misho 1341: # es1800 is here to avoid being matched by es* (a different OS)
! 1342: es1800*)
! 1343: os=ose
1.1 misho 1344: ;;
1.1.1.2 ! misho 1345: # Some version numbers need modification
! 1346: chorusos*)
! 1347: os=chorusos
1.1 misho 1348: ;;
1.1.1.2 ! misho 1349: isc)
! 1350: os=isc2.2
1.1 misho 1351: ;;
1.1.1.2 ! misho 1352: sco6)
! 1353: os=sco5v6
1.1 misho 1354: ;;
1.1.1.2 ! misho 1355: sco5)
! 1356: os=sco3.2v5
1.1 misho 1357: ;;
1.1.1.2 ! misho 1358: sco4)
! 1359: os=sco3.2v4
1.1 misho 1360: ;;
1.1.1.2 ! misho 1361: sco3.2.[4-9]*)
! 1362: os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
1.1 misho 1363: ;;
1.1.1.2 ! misho 1364: sco*v* | scout)
! 1365: # Don't match below
1.1 misho 1366: ;;
1.1.1.2 ! misho 1367: sco*)
! 1368: os=sco3.2v2
1.1 misho 1369: ;;
1.1.1.2 ! misho 1370: psos*)
! 1371: os=psos
1.1 misho 1372: ;;
1.1.1.2 ! misho 1373: qnx*)
! 1374: os=qnx
1.1 misho 1375: ;;
1.1.1.2 ! misho 1376: hiux*)
! 1377: os=hiuxwe2
1.1 misho 1378: ;;
1.1.1.2 ! misho 1379: lynx*178)
! 1380: os=lynxos178
1.1 misho 1381: ;;
1.1.1.2 ! misho 1382: lynx*5)
! 1383: os=lynxos5
1.1 misho 1384: ;;
1.1.1.2 ! misho 1385: lynxos*)
! 1386: # don't get caught up in next wildcard
1.1 misho 1387: ;;
1.1.1.2 ! misho 1388: lynx*)
! 1389: os=lynxos
1.1 misho 1390: ;;
1.1.1.2 ! misho 1391: mac[0-9]*)
! 1392: os=$(echo "$os" | sed -e 's|mac|macos|')
1.1 misho 1393: ;;
1.1.1.2 ! misho 1394: opened*)
! 1395: os=openedition
1.1 misho 1396: ;;
1.1.1.2 ! misho 1397: os400*)
! 1398: os=os400
1.1 misho 1399: ;;
1.1.1.2 ! misho 1400: sunos5*)
! 1401: os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
1.1 misho 1402: ;;
1.1.1.2 ! misho 1403: sunos6*)
! 1404: os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
1.1 misho 1405: ;;
1.1.1.2 ! misho 1406: wince*)
! 1407: os=wince
1.1 misho 1408: ;;
1.1.1.2 ! misho 1409: utek*)
! 1410: os=bsd
1.1 misho 1411: ;;
1.1.1.2 ! misho 1412: dynix*)
! 1413: os=bsd
1.1 misho 1414: ;;
1.1.1.2 ! misho 1415: acis*)
! 1416: os=aos
1.1 misho 1417: ;;
1.1.1.2 ! misho 1418: atheos*)
! 1419: os=atheos
1.1 misho 1420: ;;
1.1.1.2 ! misho 1421: syllable*)
! 1422: os=syllable
1.1 misho 1423: ;;
1.1.1.2 ! misho 1424: 386bsd)
! 1425: os=bsd
1.1 misho 1426: ;;
1.1.1.2 ! misho 1427: ctix* | uts*)
! 1428: os=sysv
1.1 misho 1429: ;;
1.1.1.2 ! misho 1430: nova*)
! 1431: os=rtmk-nova
1.1 misho 1432: ;;
1.1.1.2 ! misho 1433: ns2)
! 1434: os=nextstep2
1.1 misho 1435: ;;
1.1.1.2 ! misho 1436: # Preserve the version number of sinix5.
! 1437: sinix5.*)
! 1438: os=$(echo $os | sed -e 's|sinix|sysv|')
1.1 misho 1439: ;;
1.1.1.2 ! misho 1440: sinix*)
! 1441: os=sysv4
1.1 misho 1442: ;;
1.1.1.2 ! misho 1443: tpf*)
! 1444: os=tpf
1.1 misho 1445: ;;
1.1.1.2 ! misho 1446: triton*)
! 1447: os=sysv3
1.1 misho 1448: ;;
1.1.1.2 ! misho 1449: oss*)
! 1450: os=sysv3
1.1 misho 1451: ;;
1.1.1.2 ! misho 1452: svr4*)
! 1453: os=sysv4
1.1 misho 1454: ;;
1.1.1.2 ! misho 1455: svr3)
! 1456: os=sysv3
1.1 misho 1457: ;;
1.1.1.2 ! misho 1458: sysvr4)
! 1459: os=sysv4
1.1 misho 1460: ;;
1.1.1.2 ! misho 1461: ose*)
! 1462: os=ose
1.1 misho 1463: ;;
1.1.1.2 ! misho 1464: *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
! 1465: os=mint
1.1 misho 1466: ;;
1.1.1.2 ! misho 1467: dicos*)
! 1468: os=dicos
1.1 misho 1469: ;;
1.1.1.2 ! misho 1470: pikeos*)
! 1471: # Until real need of OS specific support for
! 1472: # particular features comes up, bare metal
! 1473: # configurations are quite functional.
! 1474: case $cpu in
! 1475: arm*)
! 1476: os=eabi
! 1477: ;;
! 1478: *)
! 1479: os=elf
! 1480: ;;
! 1481: esac
1.1 misho 1482: ;;
1483: *)
1.1.1.2 ! misho 1484: # No normalization, but not necessarily accepted, that comes below.
1.1 misho 1485: ;;
1486: esac
1.1.1.2 ! misho 1487:
1.1 misho 1488: else
1489:
1490: # Here we handle the default operating systems that come with various machines.
1491: # The value should be what the vendor currently ships out the door with their
1492: # machine or put another way, the most popular os provided with the machine.
1493:
1494: # Note that if you're going to try to match "-MANUFACTURER" here (say,
1495: # "-sun"), then you have to tell the case statement up towards the top
1496: # that MANUFACTURER isn't an operating system. Otherwise, code above
1497: # will signal an error saying that MANUFACTURER isn't an operating
1498: # system, and we'll never get to this point.
1499:
1.1.1.2 ! misho 1500: kernel=
! 1501: case $cpu-$vendor in
1.1 misho 1502: score-*)
1.1.1.2 ! misho 1503: os=elf
1.1 misho 1504: ;;
1505: spu-*)
1.1.1.2 ! misho 1506: os=elf
1.1 misho 1507: ;;
1508: *-acorn)
1.1.1.2 ! misho 1509: os=riscix1.2
1.1 misho 1510: ;;
1511: arm*-rebel)
1.1.1.2 ! misho 1512: kernel=linux
! 1513: os=gnu
1.1 misho 1514: ;;
1515: arm*-semi)
1.1.1.2 ! misho 1516: os=aout
1.1 misho 1517: ;;
1518: c4x-* | tic4x-*)
1.1.1.2 ! misho 1519: os=coff
1.1 misho 1520: ;;
1521: c8051-*)
1.1.1.2 ! misho 1522: os=elf
! 1523: ;;
! 1524: clipper-intergraph)
! 1525: os=clix
1.1 misho 1526: ;;
1527: hexagon-*)
1.1.1.2 ! misho 1528: os=elf
1.1 misho 1529: ;;
1530: tic54x-*)
1.1.1.2 ! misho 1531: os=coff
1.1 misho 1532: ;;
1533: tic55x-*)
1.1.1.2 ! misho 1534: os=coff
1.1 misho 1535: ;;
1536: tic6x-*)
1.1.1.2 ! misho 1537: os=coff
1.1 misho 1538: ;;
1539: # This must come before the *-dec entry.
1540: pdp10-*)
1.1.1.2 ! misho 1541: os=tops20
1.1 misho 1542: ;;
1543: pdp11-*)
1.1.1.2 ! misho 1544: os=none
1.1 misho 1545: ;;
1546: *-dec | vax-*)
1.1.1.2 ! misho 1547: os=ultrix4.2
1.1 misho 1548: ;;
1549: m68*-apollo)
1.1.1.2 ! misho 1550: os=domain
1.1 misho 1551: ;;
1552: i386-sun)
1.1.1.2 ! misho 1553: os=sunos4.0.2
1.1 misho 1554: ;;
1555: m68000-sun)
1.1.1.2 ! misho 1556: os=sunos3
1.1 misho 1557: ;;
1558: m68*-cisco)
1.1.1.2 ! misho 1559: os=aout
1.1 misho 1560: ;;
1561: mep-*)
1.1.1.2 ! misho 1562: os=elf
1.1 misho 1563: ;;
1564: mips*-cisco)
1.1.1.2 ! misho 1565: os=elf
1.1 misho 1566: ;;
1567: mips*-*)
1.1.1.2 ! misho 1568: os=elf
1.1 misho 1569: ;;
1570: or32-*)
1.1.1.2 ! misho 1571: os=coff
1.1 misho 1572: ;;
1573: *-tti) # must be before sparc entry or we get the wrong os.
1.1.1.2 ! misho 1574: os=sysv3
1.1 misho 1575: ;;
1576: sparc-* | *-sun)
1.1.1.2 ! misho 1577: os=sunos4.1.1
1.1 misho 1578: ;;
1.1.1.2 ! misho 1579: pru-*)
! 1580: os=elf
1.1 misho 1581: ;;
1.1.1.2 ! misho 1582: *-be)
! 1583: os=beos
1.1 misho 1584: ;;
1585: *-ibm)
1.1.1.2 ! misho 1586: os=aix
1.1 misho 1587: ;;
1588: *-knuth)
1.1.1.2 ! misho 1589: os=mmixware
1.1 misho 1590: ;;
1591: *-wec)
1.1.1.2 ! misho 1592: os=proelf
1.1 misho 1593: ;;
1594: *-winbond)
1.1.1.2 ! misho 1595: os=proelf
1.1 misho 1596: ;;
1597: *-oki)
1.1.1.2 ! misho 1598: os=proelf
1.1 misho 1599: ;;
1600: *-hp)
1.1.1.2 ! misho 1601: os=hpux
1.1 misho 1602: ;;
1603: *-hitachi)
1.1.1.2 ! misho 1604: os=hiux
1.1 misho 1605: ;;
1606: i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1.1.1.2 ! misho 1607: os=sysv
1.1 misho 1608: ;;
1609: *-cbm)
1.1.1.2 ! misho 1610: os=amigaos
1.1 misho 1611: ;;
1612: *-dg)
1.1.1.2 ! misho 1613: os=dgux
1.1 misho 1614: ;;
1615: *-dolphin)
1.1.1.2 ! misho 1616: os=sysv3
1.1 misho 1617: ;;
1618: m68k-ccur)
1.1.1.2 ! misho 1619: os=rtu
1.1 misho 1620: ;;
1621: m88k-omron*)
1.1.1.2 ! misho 1622: os=luna
1.1 misho 1623: ;;
1.1.1.2 ! misho 1624: *-next)
! 1625: os=nextstep
1.1 misho 1626: ;;
1627: *-sequent)
1.1.1.2 ! misho 1628: os=ptx
1.1 misho 1629: ;;
1630: *-crds)
1.1.1.2 ! misho 1631: os=unos
1.1 misho 1632: ;;
1633: *-ns)
1.1.1.2 ! misho 1634: os=genix
1.1 misho 1635: ;;
1636: i370-*)
1.1.1.2 ! misho 1637: os=mvs
1.1 misho 1638: ;;
1639: *-gould)
1.1.1.2 ! misho 1640: os=sysv
1.1 misho 1641: ;;
1642: *-highlevel)
1.1.1.2 ! misho 1643: os=bsd
1.1 misho 1644: ;;
1645: *-encore)
1.1.1.2 ! misho 1646: os=bsd
1.1 misho 1647: ;;
1648: *-sgi)
1.1.1.2 ! misho 1649: os=irix
1.1 misho 1650: ;;
1651: *-siemens)
1.1.1.2 ! misho 1652: os=sysv4
1.1 misho 1653: ;;
1654: *-masscomp)
1.1.1.2 ! misho 1655: os=rtu
1.1 misho 1656: ;;
1657: f30[01]-fujitsu | f700-fujitsu)
1.1.1.2 ! misho 1658: os=uxpv
1.1 misho 1659: ;;
1660: *-rom68k)
1.1.1.2 ! misho 1661: os=coff
1.1 misho 1662: ;;
1663: *-*bug)
1.1.1.2 ! misho 1664: os=coff
1.1 misho 1665: ;;
1666: *-apple)
1.1.1.2 ! misho 1667: os=macos
1.1 misho 1668: ;;
1669: *-atari*)
1.1.1.2 ! misho 1670: os=mint
! 1671: ;;
! 1672: *-wrs)
! 1673: os=vxworks
1.1 misho 1674: ;;
1675: *)
1.1.1.2 ! misho 1676: os=none
1.1 misho 1677: ;;
1678: esac
1.1.1.2 ! misho 1679:
1.1 misho 1680: fi
1681:
1.1.1.2 ! misho 1682: # Now, validate our (potentially fixed-up) OS.
! 1683: case $os in
! 1684: # Sometimes we do "kernel-abi", so those need to count as OSes.
! 1685: musl* | newlib* | uclibc*)
! 1686: ;;
! 1687: # Likewise for "kernel-libc"
! 1688: eabi | eabihf | gnueabi | gnueabihf)
! 1689: ;;
! 1690: # Now accept the basic system types.
! 1691: # The portable systems comes first.
! 1692: # Each alternative MUST end in a * to match a version number.
! 1693: gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
! 1694: | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
! 1695: | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
! 1696: | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
! 1697: | hiux* | abug | nacl* | netware* | windows* \
! 1698: | os9* | macos* | osx* | ios* \
! 1699: | mpw* | magic* | mmixware* | mon960* | lnews* \
! 1700: | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
! 1701: | aos* | aros* | cloudabi* | sortix* | twizzler* \
! 1702: | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
! 1703: | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
! 1704: | mirbsd* | netbsd* | dicos* | openedition* | ose* \
! 1705: | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
! 1706: | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
! 1707: | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
! 1708: | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
! 1709: | udi* | lites* | ieee* | go32* | aux* | hcos* \
! 1710: | chorusrdb* | cegcc* | glidix* \
! 1711: | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
! 1712: | midipix* | mingw32* | mingw64* | mint* \
! 1713: | uxpv* | beos* | mpeix* | udk* | moxiebox* \
! 1714: | interix* | uwin* | mks* | rhapsody* | darwin* \
! 1715: | openstep* | oskit* | conix* | pw32* | nonstopux* \
! 1716: | storm-chaos* | tops10* | tenex* | tops20* | its* \
! 1717: | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
! 1718: | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
! 1719: | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
! 1720: | skyos* | haiku* | rdos* | toppers* | drops* | es* \
! 1721: | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
! 1722: | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
! 1723: | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
! 1724: ;;
! 1725: # This one is extra strict with allowed versions
! 1726: sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
! 1727: # Don't forget version if it is 3.2v4 or newer.
! 1728: ;;
! 1729: none)
! 1730: ;;
! 1731: *)
! 1732: echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
! 1733: exit 1
! 1734: ;;
! 1735: esac
! 1736:
! 1737: # As a final step for OS-related things, validate the OS-kernel combination
! 1738: # (given a valid OS), if there is a kernel.
! 1739: case $kernel-$os in
! 1740: linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
! 1741: ;;
! 1742: uclinux-uclibc* )
! 1743: ;;
! 1744: -dietlibc* | -newlib* | -musl* | -uclibc* )
! 1745: # These are just libc implementations, not actual OSes, and thus
! 1746: # require a kernel.
! 1747: echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
! 1748: exit 1
! 1749: ;;
! 1750: kfreebsd*-gnu* | kopensolaris*-gnu*)
! 1751: ;;
! 1752: nto-qnx*)
! 1753: ;;
! 1754: os2-emx)
! 1755: ;;
! 1756: *-eabi* | *-gnueabi*)
! 1757: ;;
! 1758: -*)
! 1759: # Blank kernel with real OS is always fine.
! 1760: ;;
! 1761: *-*)
! 1762: echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
! 1763: exit 1
! 1764: ;;
! 1765: esac
! 1766:
1.1 misho 1767: # Here we handle the case where we know the os, and the CPU type, but not the
1768: # manufacturer. We pick the logical manufacturer.
1.1.1.2 ! misho 1769: case $vendor in
! 1770: unknown)
! 1771: case $cpu-$os in
! 1772: *-riscix*)
1.1 misho 1773: vendor=acorn
1774: ;;
1.1.1.2 ! misho 1775: *-sunos*)
1.1 misho 1776: vendor=sun
1777: ;;
1.1.1.2 ! misho 1778: *-cnk* | *-aix*)
1.1 misho 1779: vendor=ibm
1780: ;;
1.1.1.2 ! misho 1781: *-beos*)
1.1 misho 1782: vendor=be
1783: ;;
1.1.1.2 ! misho 1784: *-hpux*)
1.1 misho 1785: vendor=hp
1786: ;;
1.1.1.2 ! misho 1787: *-mpeix*)
1.1 misho 1788: vendor=hp
1789: ;;
1.1.1.2 ! misho 1790: *-hiux*)
1.1 misho 1791: vendor=hitachi
1792: ;;
1.1.1.2 ! misho 1793: *-unos*)
1.1 misho 1794: vendor=crds
1795: ;;
1.1.1.2 ! misho 1796: *-dgux*)
1.1 misho 1797: vendor=dg
1798: ;;
1.1.1.2 ! misho 1799: *-luna*)
1.1 misho 1800: vendor=omron
1801: ;;
1.1.1.2 ! misho 1802: *-genix*)
1.1 misho 1803: vendor=ns
1804: ;;
1.1.1.2 ! misho 1805: *-clix*)
! 1806: vendor=intergraph
! 1807: ;;
! 1808: *-mvs* | *-opened*)
! 1809: vendor=ibm
! 1810: ;;
! 1811: *-os400*)
1.1 misho 1812: vendor=ibm
1813: ;;
1.1.1.2 ! misho 1814: s390-* | s390x-*)
1.1 misho 1815: vendor=ibm
1816: ;;
1.1.1.2 ! misho 1817: *-ptx*)
1.1 misho 1818: vendor=sequent
1819: ;;
1.1.1.2 ! misho 1820: *-tpf*)
1.1 misho 1821: vendor=ibm
1822: ;;
1.1.1.2 ! misho 1823: *-vxsim* | *-vxworks* | *-windiss*)
1.1 misho 1824: vendor=wrs
1825: ;;
1.1.1.2 ! misho 1826: *-aux*)
1.1 misho 1827: vendor=apple
1828: ;;
1.1.1.2 ! misho 1829: *-hms*)
1.1 misho 1830: vendor=hitachi
1831: ;;
1.1.1.2 ! misho 1832: *-mpw* | *-macos*)
1.1 misho 1833: vendor=apple
1834: ;;
1.1.1.2 ! misho 1835: *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
1.1 misho 1836: vendor=atari
1837: ;;
1.1.1.2 ! misho 1838: *-vos*)
1.1 misho 1839: vendor=stratus
1840: ;;
1841: esac
1842: ;;
1843: esac
1844:
1.1.1.2 ! misho 1845: echo "$cpu-$vendor-${kernel:+$kernel-}$os"
1.1 misho 1846: exit
1847:
1848: # Local variables:
1.1.1.2 ! misho 1849: # eval: (add-hook 'before-save-hook 'time-stamp)
1.1 misho 1850: # time-stamp-start: "timestamp='"
1851: # time-stamp-format: "%:y-%02m-%02d"
1852: # time-stamp-end: "'"
1853: # End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>