Annotation of embedaddon/libiconv/build-aux/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-2019 Free Software Foundation, Inc.
! 4:
! 5: timestamp='2019-01-05'
! 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.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
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.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:
1.1.1.2 ! misho 35: # You can get the latest version of this script from:
! 36: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
! 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.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-2019 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: 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-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.2 ! 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.2 ! 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)
! 341: basic_machine=m68k-hp
! 342: ;;
! 343: hp300bsd)
! 344: basic_machine=m68k-hp
! 345: os=bsd
! 346: ;;
! 347: hp300hpux)
! 348: basic_machine=m68k-hp
! 349: os=hpux
! 350: ;;
! 351: hppaosf)
! 352: basic_machine=hppa1.1-hp
! 353: os=osf
! 354: ;;
! 355: hppro)
! 356: basic_machine=hppa1.1-hp
! 357: os=proelf
! 358: ;;
! 359: i386mach)
! 360: basic_machine=i386-mach
! 361: os=mach
! 362: ;;
! 363: vsta)
! 364: basic_machine=i386-pc
! 365: os=vsta
! 366: ;;
! 367: isi68 | isi)
! 368: basic_machine=m68k-isi
! 369: os=sysv
! 370: ;;
! 371: m68knommu)
! 372: basic_machine=m68k-unknown
! 373: os=linux
! 374: ;;
! 375: magnum | m3230)
! 376: basic_machine=mips-mips
! 377: os=sysv
! 378: ;;
! 379: merlin)
! 380: basic_machine=ns32k-utek
! 381: os=sysv
! 382: ;;
! 383: mingw64)
! 384: basic_machine=x86_64-pc
! 385: os=mingw64
! 386: ;;
! 387: mingw32)
! 388: basic_machine=i686-pc
! 389: os=mingw32
! 390: ;;
! 391: mingw32ce)
! 392: basic_machine=arm-unknown
! 393: os=mingw32ce
! 394: ;;
! 395: monitor)
! 396: basic_machine=m68k-rom68k
! 397: os=coff
! 398: ;;
! 399: morphos)
! 400: basic_machine=powerpc-unknown
! 401: os=morphos
! 402: ;;
! 403: moxiebox)
! 404: basic_machine=moxie-unknown
! 405: os=moxiebox
! 406: ;;
! 407: msdos)
! 408: basic_machine=i386-pc
! 409: os=msdos
! 410: ;;
! 411: msys)
! 412: basic_machine=i686-pc
! 413: os=msys
! 414: ;;
! 415: mvs)
! 416: basic_machine=i370-ibm
! 417: os=mvs
! 418: ;;
! 419: nacl)
! 420: basic_machine=le32-unknown
! 421: os=nacl
! 422: ;;
! 423: ncr3000)
! 424: basic_machine=i486-ncr
! 425: os=sysv4
! 426: ;;
! 427: netbsd386)
! 428: basic_machine=i386-pc
! 429: os=netbsd
! 430: ;;
! 431: netwinder)
! 432: basic_machine=armv4l-rebel
! 433: os=linux
! 434: ;;
! 435: news | news700 | news800 | news900)
! 436: basic_machine=m68k-sony
! 437: os=newsos
! 438: ;;
! 439: news1000)
! 440: basic_machine=m68030-sony
! 441: os=newsos
! 442: ;;
! 443: necv70)
! 444: basic_machine=v70-nec
! 445: os=sysv
! 446: ;;
! 447: nh3000)
! 448: basic_machine=m68k-harris
! 449: os=cxux
! 450: ;;
! 451: nh[45]000)
! 452: basic_machine=m88k-harris
! 453: os=cxux
! 454: ;;
! 455: nindy960)
! 456: basic_machine=i960-intel
! 457: os=nindy
! 458: ;;
! 459: mon960)
! 460: basic_machine=i960-intel
! 461: os=mon960
! 462: ;;
! 463: nonstopux)
! 464: basic_machine=mips-compaq
! 465: os=nonstopux
! 466: ;;
! 467: os400)
! 468: basic_machine=powerpc-ibm
! 469: os=os400
! 470: ;;
! 471: OSE68000 | ose68000)
! 472: basic_machine=m68000-ericsson
! 473: os=ose
! 474: ;;
! 475: os68k)
! 476: basic_machine=m68k-none
! 477: os=os68k
! 478: ;;
! 479: paragon)
! 480: basic_machine=i860-intel
! 481: os=osf
! 482: ;;
! 483: parisc)
! 484: basic_machine=hppa-unknown
! 485: os=linux
! 486: ;;
! 487: pw32)
! 488: basic_machine=i586-unknown
! 489: os=pw32
! 490: ;;
! 491: rdos | rdos64)
! 492: basic_machine=x86_64-pc
! 493: os=rdos
! 494: ;;
! 495: rdos32)
! 496: basic_machine=i386-pc
! 497: os=rdos
! 498: ;;
! 499: rom68k)
! 500: basic_machine=m68k-rom68k
! 501: os=coff
! 502: ;;
! 503: sa29200)
! 504: basic_machine=a29k-amd
! 505: os=udi
! 506: ;;
! 507: sei)
! 508: basic_machine=mips-sei
! 509: os=seiux
! 510: ;;
! 511: sequent)
! 512: basic_machine=i386-sequent
! 513: os=
! 514: ;;
! 515: sps7)
! 516: basic_machine=m68k-bull
! 517: os=sysv2
! 518: ;;
! 519: st2000)
! 520: basic_machine=m68k-tandem
! 521: os=
! 522: ;;
! 523: stratus)
! 524: basic_machine=i860-stratus
! 525: os=sysv4
! 526: ;;
! 527: sun2)
! 528: basic_machine=m68000-sun
! 529: os=
! 530: ;;
! 531: sun2os3)
! 532: basic_machine=m68000-sun
! 533: os=sunos3
! 534: ;;
! 535: sun2os4)
! 536: basic_machine=m68000-sun
! 537: os=sunos4
! 538: ;;
! 539: sun3)
! 540: basic_machine=m68k-sun
! 541: os=
! 542: ;;
! 543: sun3os3)
! 544: basic_machine=m68k-sun
! 545: os=sunos3
! 546: ;;
! 547: sun3os4)
! 548: basic_machine=m68k-sun
! 549: os=sunos4
! 550: ;;
! 551: sun4)
! 552: basic_machine=sparc-sun
! 553: os=
! 554: ;;
! 555: sun4os3)
! 556: basic_machine=sparc-sun
! 557: os=sunos3
! 558: ;;
! 559: sun4os4)
! 560: basic_machine=sparc-sun
! 561: os=sunos4
! 562: ;;
! 563: sun4sol2)
! 564: basic_machine=sparc-sun
! 565: os=solaris2
! 566: ;;
! 567: sun386 | sun386i | roadrunner)
! 568: basic_machine=i386-sun
! 569: os=
! 570: ;;
! 571: sv1)
! 572: basic_machine=sv1-cray
! 573: os=unicos
! 574: ;;
! 575: symmetry)
! 576: basic_machine=i386-sequent
! 577: os=dynix
! 578: ;;
! 579: t3e)
! 580: basic_machine=alphaev5-cray
! 581: os=unicos
! 582: ;;
! 583: t90)
! 584: basic_machine=t90-cray
! 585: os=unicos
! 586: ;;
! 587: toad1)
! 588: basic_machine=pdp10-xkl
! 589: os=tops20
! 590: ;;
! 591: tpf)
! 592: basic_machine=s390x-ibm
! 593: os=tpf
! 594: ;;
! 595: udi29k)
! 596: basic_machine=a29k-amd
! 597: os=udi
! 598: ;;
! 599: ultra3)
! 600: basic_machine=a29k-nyu
! 601: os=sym1
! 602: ;;
! 603: v810 | necv810)
! 604: basic_machine=v810-nec
! 605: os=none
! 606: ;;
! 607: vaxv)
! 608: basic_machine=vax-dec
! 609: os=sysv
! 610: ;;
! 611: vms)
! 612: basic_machine=vax-dec
! 613: os=vms
! 614: ;;
! 615: vxworks960)
! 616: basic_machine=i960-wrs
! 617: os=vxworks
! 618: ;;
! 619: vxworks68)
! 620: basic_machine=m68k-wrs
! 621: os=vxworks
! 622: ;;
! 623: vxworks29k)
! 624: basic_machine=a29k-wrs
! 625: os=vxworks
! 626: ;;
! 627: xbox)
! 628: basic_machine=i686-pc
! 629: os=mingw32
! 630: ;;
! 631: ymp)
! 632: basic_machine=ymp-cray
! 633: os=unicos
! 634: ;;
! 635: *)
! 636: basic_machine=$1
! 637: 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
! 662: ;;
! 663: orion105)
! 664: cpu=clipper
! 665: vendor=highlevel
! 666: ;;
! 667: mac | mpw | mac-mpw)
! 668: cpu=m68k
! 669: vendor=apple
1.1 misho 670: ;;
1.1.1.2 ! misho 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: ;;
1.1.1.2 ! misho 686: bluegene*)
! 687: cpu=powerpc
! 688: vendor=ibm
! 689: os=cnk
1.1 misho 690: ;;
691: decsystem10* | dec10*)
1.1.1.2 ! misho 692: cpu=pdp10
! 693: vendor=dec
! 694: os=tops10
1.1 misho 695: ;;
696: decsystem20* | dec20*)
1.1.1.2 ! misho 697: cpu=pdp10
! 698: vendor=dec
! 699: 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: 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: os=${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: 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: 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: 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: 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: os=solaris2
! 790: ;;
! 791: j90 | j90-cray)
! 792: cpu=j90
! 793: vendor=cray
! 794: os=${os:-unicos}
1.1 misho 795: ;;
796: iris | iris4d)
1.1.1.2 ! misho 797: cpu=mips
! 798: vendor=sgi
1.1 misho 799: case $os in
1.1.1.2 ! misho 800: irix*)
1.1 misho 801: ;;
802: *)
1.1.1.2 ! misho 803: 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: os=mint
1.1 misho 815: ;;
816: news-3600 | risc-news)
1.1.1.2 ! misho 817: cpu=mips
! 818: vendor=sony
! 819: os=newsos
! 820: ;;
! 821: next | m*-next)
! 822: cpu=m68k
! 823: vendor=next
1.1 misho 824: case $os in
1.1.1.2 ! misho 825: openstep*)
! 826: ;;
! 827: nextstep*)
1.1 misho 828: ;;
1.1.1.2 ! misho 829: ns2*)
! 830: os=nextstep2
1.1 misho 831: ;;
832: *)
1.1.1.2 ! misho 833: 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: os=proelf
1.1 misho 845: ;;
846: pa-hitachi)
1.1.1.2 ! misho 847: cpu=hppa1.1
! 848: vendor=hitachi
! 849: 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: os=${os:-elf}
! 887: ;;
! 888: simso-wrs)
! 889: cpu=sparclite
! 890: vendor=wrs
! 891: 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: 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
1.1 misho 941: ;;
1.1.1.2 ! misho 942: x64 | amd64)
! 943: cpu=x86_64
! 944: vendor=pc
1.1 misho 945: ;;
1.1.1.2 ! misho 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: os=${os:-unicosmp}
1.1 misho 962: ;;
1.1.1.2 ! misho 963: c90-unknown | c90-cray)
! 964: vendor=cray
! 965: os=${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: os=${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: 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: os=$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: 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: 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:
! 1108: # Recognize the canonical CPU Types that limit and/or modify the
! 1109: # company names they are paired with.
! 1110: cr16-*)
! 1111: os=${os:-elf}
1.1 misho 1112: ;;
1.1.1.2 ! misho 1113: crisv32-* | etraxfs*-*)
! 1114: cpu=crisv32
! 1115: vendor=axis
1.1 misho 1116: ;;
1.1.1.2 ! misho 1117: cris-* | etrax*-*)
! 1118: cpu=cris
! 1119: vendor=axis
1.1 misho 1120: ;;
1.1.1.2 ! misho 1121: crx-*)
! 1122: os=${os:-elf}
1.1 misho 1123: ;;
1.1.1.2 ! misho 1124: neo-tandem)
! 1125: cpu=neo
! 1126: vendor=tandem
1.1 misho 1127: ;;
1.1.1.2 ! misho 1128: nse-tandem)
! 1129: cpu=nse
! 1130: vendor=tandem
1.1 misho 1131: ;;
1.1.1.2 ! misho 1132: nsr-tandem)
! 1133: cpu=nsr
! 1134: vendor=tandem
! 1135: ;;
! 1136: nsv-tandem)
! 1137: cpu=nsv
! 1138: vendor=tandem
! 1139: ;;
! 1140: nsx-tandem)
! 1141: cpu=nsx
! 1142: vendor=tandem
! 1143: ;;
! 1144: s390-*)
! 1145: cpu=s390
! 1146: vendor=ibm
! 1147: ;;
! 1148: s390x-*)
! 1149: cpu=s390x
! 1150: vendor=ibm
1.1 misho 1151: ;;
1.1.1.2 ! misho 1152: tile*-*)
! 1153: os=${os:-linux-gnu}
! 1154: ;;
! 1155:
1.1 misho 1156: *)
1.1.1.2 ! misho 1157: # Recognize the canonical CPU types that are allowed with any
! 1158: # company name.
! 1159: case $cpu in
! 1160: 1750a | 580 \
! 1161: | a29k \
! 1162: | aarch64 | aarch64_be \
! 1163: | abacus \
! 1164: | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
! 1165: | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
! 1166: | alphapca5[67] | alpha64pca5[67] \
! 1167: | am33_2.0 \
! 1168: | amdgcn \
! 1169: | arc | arceb \
! 1170: | arm | arm[lb]e | arme[lb] | armv* \
! 1171: | avr | avr32 \
! 1172: | asmjs \
! 1173: | ba \
! 1174: | be32 | be64 \
! 1175: | bfin | bs2000 \
! 1176: | c[123]* | c30 | [cjt]90 | c4x \
! 1177: | c8051 | clipper | craynv | csky | cydra \
! 1178: | d10v | d30v | dlx | dsp16xx \
! 1179: | e2k | elxsi | epiphany \
! 1180: | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
! 1181: | h8300 | h8500 \
! 1182: | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
! 1183: | hexagon \
! 1184: | i370 | i*86 | i860 | i960 | ia16 | ia64 \
! 1185: | ip2k | iq2000 \
! 1186: | k1om \
! 1187: | le32 | le64 \
! 1188: | lm32 \
! 1189: | m32c | m32r | m32rle \
! 1190: | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
! 1191: | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
! 1192: | m88110 | m88k | maxq | mb | mcore | mep | metag \
! 1193: | microblaze | microblazeel \
! 1194: | mips | mipsbe | mipseb | mipsel | mipsle \
! 1195: | mips16 \
! 1196: | mips64 | mips64eb | mips64el \
! 1197: | mips64octeon | mips64octeonel \
! 1198: | mips64orion | mips64orionel \
! 1199: | mips64r5900 | mips64r5900el \
! 1200: | mips64vr | mips64vrel \
! 1201: | mips64vr4100 | mips64vr4100el \
! 1202: | mips64vr4300 | mips64vr4300el \
! 1203: | mips64vr5000 | mips64vr5000el \
! 1204: | mips64vr5900 | mips64vr5900el \
! 1205: | mipsisa32 | mipsisa32el \
! 1206: | mipsisa32r2 | mipsisa32r2el \
! 1207: | mipsisa32r6 | mipsisa32r6el \
! 1208: | mipsisa64 | mipsisa64el \
! 1209: | mipsisa64r2 | mipsisa64r2el \
! 1210: | mipsisa64r6 | mipsisa64r6el \
! 1211: | mipsisa64sb1 | mipsisa64sb1el \
! 1212: | mipsisa64sr71k | mipsisa64sr71kel \
! 1213: | mipsr5900 | mipsr5900el \
! 1214: | mipstx39 | mipstx39el \
! 1215: | mmix \
! 1216: | mn10200 | mn10300 \
! 1217: | moxie \
! 1218: | mt \
! 1219: | msp430 \
! 1220: | nds32 | nds32le | nds32be \
! 1221: | nfp \
! 1222: | nios | nios2 | nios2eb | nios2el \
! 1223: | none | np1 | ns16k | ns32k | nvptx \
! 1224: | open8 \
! 1225: | or1k* \
! 1226: | or32 \
! 1227: | orion \
! 1228: | picochip \
! 1229: | pdp10 | pdp11 | pj | pjl | pn | power \
! 1230: | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
! 1231: | pru \
! 1232: | pyramid \
! 1233: | riscv | riscv32 | riscv64 \
! 1234: | rl78 | romp | rs6000 | rx \
! 1235: | 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 | wasm32 \
! 1251: | we32k \
! 1252: | x86 | x86_64 | xc16x | xgate | xps100 \
! 1253: | xstormy16 | xtensa* \
! 1254: | ymp \
! 1255: | z8k | z80)
! 1256: ;;
! 1257:
! 1258: *)
! 1259: echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
! 1260: exit 1
! 1261: ;;
! 1262: esac
1.1 misho 1263: ;;
1264: esac
1265:
1266: # Here we canonicalize certain aliases for manufacturers.
1.1.1.2 ! misho 1267: case $vendor in
! 1268: digital*)
! 1269: vendor=dec
1.1 misho 1270: ;;
1.1.1.2 ! misho 1271: commodore*)
! 1272: vendor=cbm
1.1 misho 1273: ;;
1274: *)
1275: ;;
1276: esac
1277:
1278: # Decode manufacturer-specific aliases for certain operating systems.
1279:
1.1.1.2 ! misho 1280: if [ x$os != x ]
1.1 misho 1281: then
1282: case $os in
1.1.1.2 ! misho 1283: # First match some system type aliases that might get confused
! 1284: # with valid system types.
! 1285: # solaris* is a basic system type, with this one exception.
! 1286: auroraux)
! 1287: os=auroraux
1.1 misho 1288: ;;
1.1.1.2 ! misho 1289: bluegene*)
! 1290: os=cnk
! 1291: ;;
! 1292: solaris1 | solaris1.*)
! 1293: os=`echo $os | sed -e 's|solaris1|sunos4|'`
1.1 misho 1294: ;;
1.1.1.2 ! misho 1295: solaris)
! 1296: os=solaris2
1.1 misho 1297: ;;
1.1.1.2 ! misho 1298: unixware*)
! 1299: os=sysv4.2uw
1.1 misho 1300: ;;
1.1.1.2 ! misho 1301: gnu/linux*)
1.1 misho 1302: os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1303: ;;
1.1.1.2 ! misho 1304: # es1800 is here to avoid being matched by es* (a different OS)
! 1305: es1800*)
! 1306: os=ose
! 1307: ;;
! 1308: # Some version numbers need modification
! 1309: chorusos*)
! 1310: os=chorusos
! 1311: ;;
! 1312: isc)
! 1313: os=isc2.2
! 1314: ;;
! 1315: sco6)
! 1316: os=sco5v6
! 1317: ;;
! 1318: sco5)
! 1319: os=sco3.2v5
! 1320: ;;
! 1321: sco4)
! 1322: os=sco3.2v4
! 1323: ;;
! 1324: sco3.2.[4-9]*)
! 1325: os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
! 1326: ;;
! 1327: sco3.2v[4-9]* | sco5v6*)
! 1328: # Don't forget version if it is 3.2v4 or newer.
! 1329: ;;
! 1330: scout)
! 1331: # Don't match below
! 1332: ;;
! 1333: sco*)
! 1334: os=sco3.2v2
! 1335: ;;
! 1336: psos*)
! 1337: os=psos
! 1338: ;;
! 1339: # Now accept the basic system types.
1.1 misho 1340: # The portable systems comes first.
1.1.1.2 ! misho 1341: # Each alternative MUST end in a * to match a version number.
! 1342: # sysv* is not here because it comes later, after sysvr4.
! 1343: gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
! 1344: | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
! 1345: | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
! 1346: | sym* | kopensolaris* | plan9* \
! 1347: | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
! 1348: | aos* | aros* | cloudabi* | sortix* \
! 1349: | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
! 1350: | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
! 1351: | knetbsd* | mirbsd* | netbsd* \
! 1352: | bitrig* | openbsd* | solidbsd* | libertybsd* \
! 1353: | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
! 1354: | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
! 1355: | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
! 1356: | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
! 1357: | chorusrdb* | cegcc* | glidix* \
! 1358: | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
! 1359: | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
! 1360: | linux-newlib* | linux-musl* | linux-uclibc* \
! 1361: | uxpv* | beos* | mpeix* | udk* | moxiebox* \
! 1362: | interix* | uwin* | mks* | rhapsody* | darwin* \
! 1363: | openstep* | oskit* | conix* | pw32* | nonstopux* \
! 1364: | storm-chaos* | tops10* | tenex* | tops20* | its* \
! 1365: | os2* | vos* | palmos* | uclinux* | nucleus* \
! 1366: | morphos* | superux* | rtmk* | windiss* \
! 1367: | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
! 1368: | skyos* | haiku* | rdos* | toppers* | drops* | es* \
! 1369: | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
! 1370: | midnightbsd* | amdhsa* | unleashed* | emscripten*)
1.1 misho 1371: # Remember, each alternative MUST END IN *, to match a version number.
1372: ;;
1.1.1.2 ! misho 1373: qnx*)
! 1374: case $cpu in
! 1375: x86 | i*86)
1.1 misho 1376: ;;
1377: *)
1.1.1.2 ! misho 1378: os=nto-$os
1.1 misho 1379: ;;
1380: esac
1381: ;;
1.1.1.2 ! misho 1382: hiux*)
! 1383: os=hiuxwe2
1.1 misho 1384: ;;
1.1.1.2 ! misho 1385: nto-qnx*)
1.1 misho 1386: ;;
1.1.1.2 ! misho 1387: nto*)
! 1388: os=`echo $os | sed -e 's|nto|nto-qnx|'`
1.1 misho 1389: ;;
1.1.1.2 ! misho 1390: sim | xray | os68k* | v88r* \
! 1391: | windows* | osx | abug | netware* | os9* \
! 1392: | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
1.1 misho 1393: ;;
1.1.1.2 ! misho 1394: linux-dietlibc)
! 1395: os=linux-dietlibc
1.1 misho 1396: ;;
1.1.1.2 ! misho 1397: linux*)
1.1 misho 1398: os=`echo $os | sed -e 's|linux|linux-gnu|'`
1399: ;;
1.1.1.2 ! misho 1400: lynx*178)
! 1401: os=lynxos178
! 1402: ;;
! 1403: lynx*5)
! 1404: os=lynxos5
! 1405: ;;
! 1406: lynx*)
! 1407: os=lynxos
1.1 misho 1408: ;;
1.1.1.2 ! misho 1409: mac*)
! 1410: os=`echo "$os" | sed -e 's|mac|macos|'`
1.1 misho 1411: ;;
1.1.1.2 ! misho 1412: opened*)
! 1413: os=openedition
1.1 misho 1414: ;;
1.1.1.2 ! misho 1415: os400*)
! 1416: os=os400
1.1 misho 1417: ;;
1.1.1.2 ! misho 1418: sunos5*)
! 1419: os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1.1 misho 1420: ;;
1.1.1.2 ! misho 1421: sunos6*)
! 1422: os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1.1 misho 1423: ;;
1.1.1.2 ! misho 1424: wince*)
! 1425: os=wince
1.1 misho 1426: ;;
1.1.1.2 ! misho 1427: utek*)
! 1428: os=bsd
1.1 misho 1429: ;;
1.1.1.2 ! misho 1430: dynix*)
! 1431: os=bsd
1.1 misho 1432: ;;
1.1.1.2 ! misho 1433: acis*)
! 1434: os=aos
1.1 misho 1435: ;;
1.1.1.2 ! misho 1436: atheos*)
! 1437: os=atheos
1.1 misho 1438: ;;
1.1.1.2 ! misho 1439: syllable*)
! 1440: os=syllable
1.1 misho 1441: ;;
1.1.1.2 ! misho 1442: 386bsd)
! 1443: os=bsd
1.1 misho 1444: ;;
1.1.1.2 ! misho 1445: ctix* | uts*)
! 1446: os=sysv
1.1 misho 1447: ;;
1.1.1.2 ! misho 1448: nova*)
! 1449: os=rtmk-nova
1.1 misho 1450: ;;
1.1.1.2 ! misho 1451: ns2)
! 1452: os=nextstep2
1.1 misho 1453: ;;
1.1.1.2 ! misho 1454: nsk*)
! 1455: os=nsk
1.1 misho 1456: ;;
1457: # Preserve the version number of sinix5.
1.1.1.2 ! misho 1458: sinix5.*)
1.1 misho 1459: os=`echo $os | sed -e 's|sinix|sysv|'`
1460: ;;
1.1.1.2 ! misho 1461: sinix*)
! 1462: os=sysv4
1.1 misho 1463: ;;
1.1.1.2 ! misho 1464: tpf*)
! 1465: os=tpf
1.1 misho 1466: ;;
1.1.1.2 ! misho 1467: triton*)
! 1468: os=sysv3
1.1 misho 1469: ;;
1.1.1.2 ! misho 1470: oss*)
! 1471: os=sysv3
1.1 misho 1472: ;;
1.1.1.2 ! misho 1473: svr4*)
! 1474: os=sysv4
1.1 misho 1475: ;;
1.1.1.2 ! misho 1476: svr3)
! 1477: os=sysv3
1.1 misho 1478: ;;
1.1.1.2 ! misho 1479: sysvr4)
! 1480: os=sysv4
1.1 misho 1481: ;;
1.1.1.2 ! misho 1482: # This must come after sysvr4.
! 1483: sysv*)
1.1 misho 1484: ;;
1.1.1.2 ! misho 1485: ose*)
! 1486: os=ose
1.1 misho 1487: ;;
1.1.1.2 ! misho 1488: *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
! 1489: os=mint
1.1 misho 1490: ;;
1.1.1.2 ! misho 1491: zvmoe)
! 1492: os=zvmoe
1.1 misho 1493: ;;
1.1.1.2 ! misho 1494: dicos*)
! 1495: os=dicos
1.1 misho 1496: ;;
1.1.1.2 ! misho 1497: pikeos*)
! 1498: # Until real need of OS specific support for
! 1499: # particular features comes up, bare metal
! 1500: # configurations are quite functional.
! 1501: case $cpu in
! 1502: arm*)
! 1503: os=eabi
! 1504: ;;
! 1505: *)
! 1506: os=elf
! 1507: ;;
! 1508: esac
1.1 misho 1509: ;;
1.1.1.2 ! misho 1510: nacl*)
1.1 misho 1511: ;;
1.1.1.2 ! misho 1512: ios)
1.1 misho 1513: ;;
1.1.1.2 ! misho 1514: none)
1.1 misho 1515: ;;
1.1.1.2 ! misho 1516: *-eabi)
1.1 misho 1517: ;;
1518: *)
1.1.1.2 ! misho 1519: echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
1.1 misho 1520: exit 1
1521: ;;
1522: esac
1523: else
1524:
1525: # Here we handle the default operating systems that come with various machines.
1526: # The value should be what the vendor currently ships out the door with their
1527: # machine or put another way, the most popular os provided with the machine.
1528:
1529: # Note that if you're going to try to match "-MANUFACTURER" here (say,
1530: # "-sun"), then you have to tell the case statement up towards the top
1531: # that MANUFACTURER isn't an operating system. Otherwise, code above
1532: # will signal an error saying that MANUFACTURER isn't an operating
1533: # system, and we'll never get to this point.
1534:
1.1.1.2 ! misho 1535: case $cpu-$vendor in
! 1536: score-*)
! 1537: os=elf
1.1 misho 1538: ;;
1.1.1.2 ! misho 1539: spu-*)
! 1540: os=elf
1.1 misho 1541: ;;
1542: *-acorn)
1.1.1.2 ! misho 1543: os=riscix1.2
1.1 misho 1544: ;;
1545: arm*-rebel)
1.1.1.2 ! misho 1546: os=linux
1.1 misho 1547: ;;
1548: arm*-semi)
1.1.1.2 ! misho 1549: os=aout
1.1 misho 1550: ;;
1.1.1.2 ! misho 1551: c4x-* | tic4x-*)
! 1552: os=coff
! 1553: ;;
! 1554: c8051-*)
! 1555: os=elf
! 1556: ;;
! 1557: clipper-intergraph)
! 1558: os=clix
! 1559: ;;
! 1560: hexagon-*)
! 1561: os=elf
! 1562: ;;
! 1563: tic54x-*)
! 1564: os=coff
! 1565: ;;
! 1566: tic55x-*)
! 1567: os=coff
! 1568: ;;
! 1569: tic6x-*)
! 1570: os=coff
1.1 misho 1571: ;;
1572: # This must come before the *-dec entry.
1573: pdp10-*)
1.1.1.2 ! misho 1574: os=tops20
1.1 misho 1575: ;;
1576: pdp11-*)
1.1.1.2 ! misho 1577: os=none
1.1 misho 1578: ;;
1579: *-dec | vax-*)
1.1.1.2 ! misho 1580: os=ultrix4.2
1.1 misho 1581: ;;
1582: m68*-apollo)
1.1.1.2 ! misho 1583: os=domain
1.1 misho 1584: ;;
1585: i386-sun)
1.1.1.2 ! misho 1586: os=sunos4.0.2
1.1 misho 1587: ;;
1588: m68000-sun)
1.1.1.2 ! misho 1589: os=sunos3
1.1 misho 1590: ;;
1591: m68*-cisco)
1.1.1.2 ! misho 1592: os=aout
1.1 misho 1593: ;;
1.1.1.2 ! misho 1594: mep-*)
! 1595: os=elf
1.1 misho 1596: ;;
1597: mips*-cisco)
1.1.1.2 ! misho 1598: os=elf
1.1 misho 1599: ;;
1600: mips*-*)
1.1.1.2 ! misho 1601: os=elf
1.1 misho 1602: ;;
1603: or32-*)
1.1.1.2 ! misho 1604: os=coff
1.1 misho 1605: ;;
1606: *-tti) # must be before sparc entry or we get the wrong os.
1.1.1.2 ! misho 1607: os=sysv3
1.1 misho 1608: ;;
1609: sparc-* | *-sun)
1.1.1.2 ! misho 1610: os=sunos4.1.1
1.1 misho 1611: ;;
1.1.1.2 ! misho 1612: pru-*)
! 1613: os=elf
1.1 misho 1614: ;;
1.1.1.2 ! misho 1615: *-be)
! 1616: os=beos
1.1 misho 1617: ;;
1618: *-ibm)
1.1.1.2 ! misho 1619: os=aix
1.1 misho 1620: ;;
1.1.1.2 ! misho 1621: *-knuth)
! 1622: os=mmixware
1.1 misho 1623: ;;
1624: *-wec)
1.1.1.2 ! misho 1625: os=proelf
1.1 misho 1626: ;;
1627: *-winbond)
1.1.1.2 ! misho 1628: os=proelf
1.1 misho 1629: ;;
1630: *-oki)
1.1.1.2 ! misho 1631: os=proelf
1.1 misho 1632: ;;
1633: *-hp)
1.1.1.2 ! misho 1634: os=hpux
1.1 misho 1635: ;;
1636: *-hitachi)
1.1.1.2 ! misho 1637: os=hiux
1.1 misho 1638: ;;
1639: i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1.1.1.2 ! misho 1640: os=sysv
1.1 misho 1641: ;;
1642: *-cbm)
1.1.1.2 ! misho 1643: os=amigaos
1.1 misho 1644: ;;
1645: *-dg)
1.1.1.2 ! misho 1646: os=dgux
1.1 misho 1647: ;;
1648: *-dolphin)
1.1.1.2 ! misho 1649: os=sysv3
1.1 misho 1650: ;;
1651: m68k-ccur)
1.1.1.2 ! misho 1652: os=rtu
1.1 misho 1653: ;;
1654: m88k-omron*)
1.1.1.2 ! misho 1655: os=luna
1.1 misho 1656: ;;
1.1.1.2 ! misho 1657: *-next)
! 1658: os=nextstep
1.1 misho 1659: ;;
1660: *-sequent)
1.1.1.2 ! misho 1661: os=ptx
1.1 misho 1662: ;;
1663: *-crds)
1.1.1.2 ! misho 1664: os=unos
1.1 misho 1665: ;;
1666: *-ns)
1.1.1.2 ! misho 1667: os=genix
1.1 misho 1668: ;;
1669: i370-*)
1.1.1.2 ! misho 1670: os=mvs
1.1 misho 1671: ;;
1672: *-gould)
1.1.1.2 ! misho 1673: os=sysv
1.1 misho 1674: ;;
1675: *-highlevel)
1.1.1.2 ! misho 1676: os=bsd
1.1 misho 1677: ;;
1678: *-encore)
1.1.1.2 ! misho 1679: os=bsd
1.1 misho 1680: ;;
1681: *-sgi)
1.1.1.2 ! misho 1682: os=irix
1.1 misho 1683: ;;
1684: *-siemens)
1.1.1.2 ! misho 1685: os=sysv4
1.1 misho 1686: ;;
1687: *-masscomp)
1.1.1.2 ! misho 1688: os=rtu
1.1 misho 1689: ;;
1690: f30[01]-fujitsu | f700-fujitsu)
1.1.1.2 ! misho 1691: os=uxpv
1.1 misho 1692: ;;
1693: *-rom68k)
1.1.1.2 ! misho 1694: os=coff
1.1 misho 1695: ;;
1696: *-*bug)
1.1.1.2 ! misho 1697: os=coff
1.1 misho 1698: ;;
1699: *-apple)
1.1.1.2 ! misho 1700: os=macos
1.1 misho 1701: ;;
1702: *-atari*)
1.1.1.2 ! misho 1703: os=mint
! 1704: ;;
! 1705: *-wrs)
! 1706: os=vxworks
1.1 misho 1707: ;;
1708: *)
1.1.1.2 ! misho 1709: os=none
1.1 misho 1710: ;;
1711: esac
1712: fi
1713:
1714: # Here we handle the case where we know the os, and the CPU type, but not the
1715: # manufacturer. We pick the logical manufacturer.
1.1.1.2 ! misho 1716: case $vendor in
! 1717: unknown)
1.1 misho 1718: case $os in
1.1.1.2 ! misho 1719: riscix*)
1.1 misho 1720: vendor=acorn
1721: ;;
1.1.1.2 ! misho 1722: sunos*)
1.1 misho 1723: vendor=sun
1724: ;;
1.1.1.2 ! misho 1725: cnk*|-aix*)
1.1 misho 1726: vendor=ibm
1727: ;;
1.1.1.2 ! misho 1728: beos*)
1.1 misho 1729: vendor=be
1730: ;;
1.1.1.2 ! misho 1731: hpux*)
1.1 misho 1732: vendor=hp
1733: ;;
1.1.1.2 ! misho 1734: mpeix*)
1.1 misho 1735: vendor=hp
1736: ;;
1.1.1.2 ! misho 1737: hiux*)
1.1 misho 1738: vendor=hitachi
1739: ;;
1.1.1.2 ! misho 1740: unos*)
1.1 misho 1741: vendor=crds
1742: ;;
1.1.1.2 ! misho 1743: dgux*)
1.1 misho 1744: vendor=dg
1745: ;;
1.1.1.2 ! misho 1746: luna*)
1.1 misho 1747: vendor=omron
1748: ;;
1.1.1.2 ! misho 1749: genix*)
1.1 misho 1750: vendor=ns
1751: ;;
1.1.1.2 ! misho 1752: clix*)
! 1753: vendor=intergraph
! 1754: ;;
! 1755: mvs* | opened*)
1.1 misho 1756: vendor=ibm
1757: ;;
1.1.1.2 ! misho 1758: os400*)
1.1 misho 1759: vendor=ibm
1760: ;;
1.1.1.2 ! misho 1761: ptx*)
1.1 misho 1762: vendor=sequent
1763: ;;
1.1.1.2 ! misho 1764: tpf*)
1.1 misho 1765: vendor=ibm
1766: ;;
1.1.1.2 ! misho 1767: vxsim* | vxworks* | windiss*)
1.1 misho 1768: vendor=wrs
1769: ;;
1.1.1.2 ! misho 1770: aux*)
1.1 misho 1771: vendor=apple
1772: ;;
1.1.1.2 ! misho 1773: hms*)
1.1 misho 1774: vendor=hitachi
1775: ;;
1.1.1.2 ! misho 1776: mpw* | macos*)
1.1 misho 1777: vendor=apple
1778: ;;
1.1.1.2 ! misho 1779: *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1.1 misho 1780: vendor=atari
1781: ;;
1.1.1.2 ! misho 1782: vos*)
1.1 misho 1783: vendor=stratus
1784: ;;
1785: esac
1786: ;;
1787: esac
1788:
1.1.1.2 ! misho 1789: echo "$cpu-$vendor-$os"
1.1 misho 1790: exit
1791:
1792: # Local variables:
1.1.1.2 ! misho 1793: # eval: (add-hook 'before-save-hook 'time-stamp)
1.1 misho 1794: # time-stamp-start: "timestamp='"
1795: # time-stamp-format: "%:y-%02m-%02d"
1796: # time-stamp-end: "'"
1797: # End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>