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