|
|
1.1 root 1: #!/bin/sh 1.1.1.3 ! root 2: # Configuration validation subroutine script, version 1.1. ! 3: # Copyright (C) 1991, 1992 Free Software Foundation, Inc. ! 4: # This file is (in principle) common to ALL GNU software. ! 5: # The presence of a machine in this file suggests that SOME GNU software ! 6: # can handle that machine. It does not imply ALL GNU software can. 1.1 root 7: 8: #This file is free software; you can redistribute it and/or modify 9: #it under the terms of the GNU General Public License as published by 10: #the Free Software Foundation; either version 2 of the License, or 11: #(at your option) any later version. 12: 13: #This program is distributed in the hope that it will be useful, 14: #but WITHOUT ANY WARRANTY; without even the implied warranty of 15: #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16: #GNU General Public License for more details. 17: 18: #You should have received a copy of the GNU General Public License 19: #along with this program; if not, write to the Free Software 20: #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21: 22: 23: # Configuration subroutine to validate and canonicalize a configuration type. 24: # Supply the specified configuration type as an argument. 25: # If it is invalid, we print an error message on stderr and exit with code 1. 26: # Otherwise, we print the canonical config type on stdout and succeed. 27: 28: # This file is supposed to be the same for all GNU packages 29: # and recognize all the CPU types, system types and aliases 30: # that are meaningful with *any* GNU software. 31: # Each package is responsible for reporting which valid configurations 32: # it does not support. The user should be able to distinguish 33: # a failure to support a valid configuration from a meaningless 34: # configuration. 35: 36: # The goal of this file is to map all the various variations of a given 37: # machine specification into a single specification in the form: 38: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 39: # it is wrong to echo any other type of specification 40: 41: # First pass through any local machine types. 42: case $1 in 43: *local*) 44: echo $1 45: exit 0 46: ;; 47: *) 48: ;; 49: esac 50: 51: # Separate what the user gave into CPU-COMPANY and OS (if any). 52: basic_machine=`echo $1 | sed 's/-[^-]*$//'` 53: if [ $basic_machine != $1 ] 54: then os=`echo $1 | sed 's/.*-/-/'` 55: else os=; fi 56: 57: # Lets recognize common machines as not being OS so that things like 1.1.1.3 ! root 58: # config.subr decstation-3100 work. 1.1 root 59: case $os in 60: -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 61: -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 62: -unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \ 1.1.1.3 ! root 63: -convergent* | -ncr* | -news | -32* | -3600* | -3100* | \ 1.1 root 64: -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1.1.1.2 root 65: -harris | -dolphin) 1.1 root 66: os= 67: basic_machine=$1 68: ;; 69: -sco*) 1.1.1.3 ! root 70: os=-sco3.2v2 1.1 root 71: basic_machine=i386-unknown 72: ;; 73: -isc*) 1.1.1.3 ! root 74: os=-isc 1.1 root 75: basic_machine=i386-unknown 76: ;; 77: esac 78: 79: # Decode aliases for certain CPU-COMPANY combinations. 80: case $basic_machine in 81: # Recognize the basic CPU types with without company name. 82: # Some are omitted here because they have special meanings below. 1.1.1.2 root 83: tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \ 1.1.1.3 ! root 84: | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k) 1.1 root 85: basic_machine=$basic_machine-unknown 86: ;; 87: # Recognize the basic CPU types with with company name. 1.1.1.3 ! root 88: vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \ 1.1 root 89: | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ 90: | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ 91: | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ 1.1.1.3 ! root 92: | hppa1.0-* | hppa1.1-* | we32k-*) 1.1 root 93: ;; 94: # Recognize the various machine names and aliases which stand 95: # for a CPU type and a company and sometimes even an OS. 96: vaxv) 97: basic_machine=vax-dec 98: os=-sysv 99: ;; 100: vms) 101: basic_machine=vax-dec 102: os=-vms 103: ;; 104: i386v32) 105: basic_machine=i386-unknown 106: os=-sysv32 107: ;; 108: i386-sco* | i386sco | sco) 109: basic_machine=i386-unknown 1.1.1.3 ! root 110: os=-sco3.2v2 1.1 root 111: ;; 112: i386-isc* | isc) 113: basic_machine=i386-unknown 1.1.1.3 ! root 114: os=-isc 1.1 root 115: ;; 116: i386v4*) 117: basic_machine=i386-unknown 118: os=-sysv4 119: ;; 1.1.1.3 ! root 120: i486v4*) ! 121: basic_machine=i486-unknown ! 122: os=-sysv4 ! 123: ;; 1.1 root 124: i386v) 125: basic_machine=i386-unknown 126: os=-sysv 127: ;; 128: spur) 129: basic_machine=spur-unknown 130: ;; 131: alliant | fx80) 132: basic_machine=fx80-alliant 133: ;; 134: convex-c1) 135: basic_machine=c1-convex 136: os=-bsd 137: ;; 138: convex-c2) 139: basic_machine=c2-convex 140: os=-bsd 141: ;; 142: convex-c32) 143: basic_machine=c32-convex 144: os=-bsd 145: ;; 146: convex-c34) 147: basic_machine=c34-convex 148: os=-bsd 149: ;; 150: convex-c38) 151: basic_machine=c38-convex 152: os=-bsd 153: ;; 154: m88k-omron*) 155: basic_machine=m88k-omron 156: ;; 157: merlin) 158: basic_machine=ns32k-utek 159: os=-sysv 160: ;; 161: crds | unos) 162: basic_machine=m68k-crds 163: ;; 164: encore | umax | mmax) 165: basic_machine=ns32k-encore 1.1.1.3 ! root 166: os=-bsd 1.1 root 167: ;; 168: genix) 169: basic_machine=ns32k-ns 170: ;; 171: iris | iris4d) 172: basic_machine=mips-sgi 1.1.1.3 ! root 173: case $os in ! 174: -irix*) ! 175: ;; ! 176: *) ! 177: os=-irix4 ! 178: ;; ! 179: esac 1.1 root 180: ;; 181: news | news700 | news800 | news900) 182: basic_machine=m68k-sony 183: os=-newsos 184: ;; 185: 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 1.1.1.2 root 186: basic_machine=m68000-att 1.1 root 187: ;; 1.1.1.3 ! root 188: 3b*) ! 189: basic_machine=we32k-att ! 190: ;; 1.1 root 191: delta | 3300 | motorola-3300 | motorola-delta \ 192: | 3300-motorola | delta-motorola) 193: basic_machine=m68k-motorola 194: ;; 195: balance) 196: basic_machine=ns32k-sequent 197: os=-dynix 198: ;; 199: pc532) 200: basic_machine=ns32k-pc532 201: ;; 202: symmetry) 203: basic_machine=i386-sequent 204: os=-dynix 205: ;; 206: sun2) 207: basic_machine=m68000-sun 208: ;; 209: sun2os3) 210: basic_machine=m68000-sun 211: os=-sunos3 212: ;; 213: sun2os4) 214: basic_machine=m68000-sun 215: os=-sunos4 216: ;; 217: sun3os3) 218: basic_machine=m68k-sun 219: os=-sunos3 220: ;; 221: sun3os4) 222: basic_machine=m68k-sun 223: os=-sunos4 224: ;; 225: sun4os3) 226: basic_machine=sparc-sun 227: os=-sunos3 228: ;; 229: sun4os4) 230: basic_machine=sparc-sun 231: os=-sunos4 232: ;; 233: sun3) 234: basic_machine=m68k-sun 235: ;; 236: sun4) 237: basic_machine=sparc-sun 238: ;; 239: pbd) 1.1.1.2 root 240: basic_machine=sparc-tti 241: ;; 242: pbb) 243: basic_machine=m68k-tti 1.1 root 244: ;; 245: sun386 | sun386i | roadrunner) 246: basic_machine=i386-sun 247: ;; 248: ps2) 249: basic_machine=i386-ibm 250: ;; 1.1.1.3 ! root 251: fx2800) ! 252: basic_machine=i860-alliant ! 253: ;; 1.1 root 254: next) 255: basic_machine=m68k-next 1.1.1.3 ! root 256: os=-bsd 1.1 root 257: ;; 258: amiga) 259: basic_machine=m68k-cbm 260: ;; 261: hp9k3[2-9][0-9]) 262: basic_machine=m68k-hp 263: ;; 264: hp9k31[0-9] | hp9k2[0-9][0-9]) 265: basic_machine=m68000-hp 266: ;; 1.1.1.3 ! root 267: hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) ! 268: basic_machine=hppa1.1-hp ! 269: ;; ! 270: hp9k8[0-9][0-9] | hp8[0-9][0-9]) ! 271: basic_machine=hppa1.0-hp 1.1 root 272: ;; 273: isi68 | isi) 274: basic_machine=m68k-isi 275: os=-sysv 276: ;; 277: apollo68) 278: basic_machine=m68k-apollo 279: os=-sysv 280: ;; 281: altos | altos3068) 282: basic_machine=m68k-altos 283: ;; 284: miniframe) 285: basic_machine=m68000-convergent 286: ;; 287: tower | tower-32) 288: basic_machine=m68k-ncr 289: ;; 290: news-3600 | risc-news) 291: basic_machine=mips-sony 292: os=-newsos 293: ;; 1.1.1.3 ! root 294: decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn) 1.1 root 295: basic_machine=mips-dec 296: ;; 297: magnum | m3230) 298: basic_machine=mips-mips 299: os=-sysv 300: ;; 301: gmicro) 302: basic_machine=tron-gmicro 303: os=-sysv 304: ;; 305: rtpc | rtpc-*) 306: basic_machine=romp-ibm 307: ;; 308: am29k) 309: basic_machine=a29k-none 310: os=-bsd 311: ;; 312: amdahl) 313: basic_machine=580-amdahl 314: os=-sysv 315: ;; 316: amigados) 317: basic_machine=m68k-cbm 318: os=-amigados 319: ;; 320: amigaunix | amix) 321: basic_machine=m68k-cbm 322: os=-amix 323: ;; 324: cray | ymp) 325: basic_machine=ymp-cray 326: os=-unicos 327: ;; 328: cray2) 329: basic_machine=cray2-cray 330: os=-unicos 331: ;; 332: xmp) 333: basic_machine=xmp-cray 334: os=-unicos 335: ;; 336: delta88) 337: basic_machine=m88k-motorola 338: os=-m88kbcs 339: ;; 340: dpx2) 341: basic_machine=m68k-bull 342: os=-sysv 343: ;; 344: ebmon29k) 345: basic_machine=a29k-amd 346: os=-ebmon 347: ;; 348: h8300hds) 349: basic_machine=h8300-hitachi 350: os=-hds 351: ;; 352: harris) 353: basic_machine=m88k-harris 354: os=-m88kbcs 355: ;; 356: hp300bsd) 357: basic_machine=m68k-hp 358: os=-bsd 359: ;; 360: hp300hpux) 361: basic_machine=m68k-hp 362: os=-hpux 363: ;; 364: hp9k2[0-9][0-9] | hp9k31[0-9]) 365: basic_machine=m68000-hp 366: os=-hpux 367: ;; 368: hp9k3[2-9][0-9]) 369: basic_machine=m68k-hp 370: os=-hpux 371: ;; 372: ncr3000) 1.1.1.3 ! root 373: basic_machine=i486-ncr 1.1 root 374: os=-sysv4 375: ;; 376: news1000) 377: basic_machine=m68030-sony 378: os=-newsos 379: ;; 380: nindy960) 381: basic_machine=i960-intel 382: os=-nindy 383: ;; 384: pn) 385: basic_machine=pn-gould 386: os=-sysv 387: ;; 388: np1) 389: basic_machine=np1-gould 390: os=-sysv 391: ;; 392: ultra3) 393: basic_machine=a29k-nyu 394: os=-sym1 395: ;; 396: vxworks960) 397: basic_machine=i960-wrs 398: os=-vxworks 399: ;; 400: vxworks68) 401: basic_machine=m68k-wrs 402: os=-vxworks 403: ;; 404: none) 405: basic_machine=none-none 406: os=-none 407: ;; 408: 409: # Here we handle the default manufacturer of certain CPU types. It is in 410: # some cases the only manufacturer, in others, it is the most popular. 411: mips) 412: basic_machine=mips-mips 413: ;; 414: romp) 415: basic_machine=romp-ibm 416: ;; 417: rs6000) 418: basic_machine=rs6000-ibm 419: ;; 420: vax) 421: basic_machine=vax-dec 422: ;; 1.1.1.3 ! root 423: we32k) ! 424: basic_machine=we32k-att ! 425: ;; 1.1 root 426: sparc) 427: basic_machine=sparc-sun 428: ;; 429: *) 430: echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 431: exit 1 432: ;; 433: esac 434: 435: # Here we canonicalize certain aliases for manufacturers. 436: case $basic_machine in 437: *-digital*) 438: basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 439: ;; 440: *-commodore*) 441: basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 442: ;; 443: *) 444: ;; 445: esac 446: 447: # Decode manufacturer-specific aliases for certain operating systems. 448: 449: if [ "$os" ] 450: then 451: case $os in 452: # First accept the basic system types. 453: # The portable systems comes first. 454: # Each alternative must end in a *, to match a version number. 455: -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 456: | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \ 457: | -unos* | -osf* | -luna* | -dgux* | -solari* | -sym* | -amix* \ 1.1.1.3 ! root 458: | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \ 1.1 root 459: | -nindy* | -vxworks* | -ebmon* | -hds* | -m88kbcs*) 460: ;; 461: -osfrose*) 1.1.1.3 ! root 462: os=-osfrose 1.1 root 463: ;; 464: -osf*) 1.1.1.3 ! root 465: os=-osf 1.1 root 466: ;; 467: -dynix*) 468: os=-bsd 469: ;; 1.1.1.2 root 470: -acis*) 471: os=-aos 1.1 root 472: ;; 473: -ctix* | -uts*) 474: os=-sysv 475: ;; 1.1.1.2 root 476: -triton*) 477: os=-sysv3 478: ;; 479: -oss*) 480: os=-sysv3 481: ;; 1.1 root 482: -svr4) 483: os=-sysv4 484: ;; 485: -svr3) 486: os=-sysv3 487: ;; 1.1.1.3 ! root 488: -none) ! 489: ;; 1.1 root 490: *) 491: # Get rid of the `-' at the beginning of $os. 492: os=`echo $1 | sed 's/[^-]*-//'` 493: echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 494: exit 1 495: ;; 496: esac 497: else 498: 499: # Here we handle the default operating systems that come with various machines. 500: # The value should be what the vendor currently ships out the door with their 501: # machine or put another way, the most popular os provided with the machine. 502: case $basic_machine in 503: *-dec | vax-*) 1.1.1.3 ! root 504: os=-ultrix4.2 1.1 root 505: ;; 506: i386-sun) 1.1.1.3 ! root 507: os=-sunos4.0.2 1.1 root 508: ;; 509: m68000-sun) 510: os=-sunos3 511: # This also exists in the configure program, but was not the 512: # default. 513: # os=-sunos4 514: ;; 1.1.1.2 root 515: *-tti) # must be before sparc entry or we get the wrong os. 516: os=-sysv3 517: ;; 1.1 root 518: sparc-* | *-sun) 1.1.1.3 ! root 519: os=-sunos4.1.1 1.1 root 520: ;; 521: *-ibm) 522: os=-aix 523: ;; 524: *-hp) 525: os=-hpux 526: ;; 527: *-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 528: os=-sysv 529: ;; 530: *-cbm) 531: os=-amigados 532: ;; 533: *-dg) 534: os=-dgux 535: ;; 1.1.1.2 root 536: *-dolphin) 537: os=-sysv3 538: ;; 1.1 root 539: m88k-omron*) 540: os=-luna 541: ;; 542: *-crds) 543: os=-unos 544: ;; 545: *-ns) 546: os=-genix 547: ;; 548: i386-*) 1.1.1.3 ! root 549: os=-sco3.2v2 1.1 root 550: ;; 551: *) 552: os=-none 553: ;; 554: esac 555: fi 556: 557: # Here we handle the case where we know the os, and the CPU type, but not the 558: # manufacturer. We pick the logical manufacturer. 559: vendor=unknown 560: case $basic_machine in 561: *-unknown) 562: case $os in 563: -sunos*) 564: vendor=sun 565: ;; 566: -aix*) 567: vendor=ibm 568: ;; 569: -hpux*) 570: vendor=hp 571: ;; 572: -unos*) 573: vendor=crds 574: ;; 575: -dgux*) 576: vendor=dg 577: ;; 578: -luna*) 579: vendor=omron 580: ;; 581: -genix*) 582: vendor=ns 583: ;; 584: esac 585: basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 586: ;; 587: esac 588: 589: echo $basic_machine$os
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.