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