Annotation of fam/config.sub, Revision 1.1
1.1 ! trev 1: #! /bin/sh
! 2: # Configuration validation subroutine script.
! 3: # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
! 4: # Free Software Foundation, Inc.
! 5:
! 6: timestamp='2001-04-20'
! 7:
! 8: # This file is (in principle) common to ALL GNU software.
! 9: # The presence of a machine in this file suggests that SOME GNU software
! 10: # can handle that machine. It does not imply ALL GNU software can.
! 11: #
! 12: # This file is free software; you can redistribute it and/or modify
! 13: # it under the terms of the GNU General Public License as published by
! 14: # the Free Software Foundation; either version 2 of the License, or
! 15: # (at your option) any later version.
! 16: #
! 17: # This program is distributed in the hope that it will be useful,
! 18: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 19: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 20: # GNU General Public License for more details.
! 21: #
! 22: # You should have received a copy of the GNU General Public License
! 23: # along with this program; if not, write to the Free Software
! 24: # Foundation, Inc., 59 Temple Place - Suite 330,
! 25: # Boston, MA 02111-1307, USA.
! 26:
! 27: # As a special exception to the GNU General Public License, if you
! 28: # distribute this file as part of a program that contains a
! 29: # configuration script generated by Autoconf, you may include it under
! 30: # the same distribution terms that you use for the rest of that program.
! 31:
! 32: # Please send patches to <config-patches@gnu.org>.
! 33: #
! 34: # Configuration subroutine to validate and canonicalize a configuration type.
! 35: # Supply the specified configuration type as an argument.
! 36: # If it is invalid, we print an error message on stderr and exit with code 1.
! 37: # Otherwise, we print the canonical config type on stdout and succeed.
! 38:
! 39: # This file is supposed to be the same for all GNU packages
! 40: # and recognize all the CPU types, system types and aliases
! 41: # that are meaningful with *any* GNU software.
! 42: # Each package is responsible for reporting which valid configurations
! 43: # it does not support. The user should be able to distinguish
! 44: # a failure to support a valid configuration from a meaningless
! 45: # configuration.
! 46:
! 47: # The goal of this file is to map all the various variations of a given
! 48: # machine specification into a single specification in the form:
! 49: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
! 50: # or in some cases, the newer four-part form:
! 51: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
! 52: # It is wrong to echo any other type of specification.
! 53:
! 54: me=`echo "$0" | sed -e 's,.*/,,'`
! 55:
! 56: usage="\
! 57: Usage: $0 [OPTION] CPU-MFR-OPSYS
! 58: $0 [OPTION] ALIAS
! 59:
! 60: Canonicalize a configuration name.
! 61:
! 62: Operation modes:
! 63: -h, --help print this help, then exit
! 64: -t, --time-stamp print date of last modification, then exit
! 65: -v, --version print version number, then exit
! 66:
! 67: Report bugs and patches to <config-patches@gnu.org>."
! 68:
! 69: version="\
! 70: GNU config.sub ($timestamp)
! 71:
! 72: Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
! 73: Free Software Foundation, Inc.
! 74:
! 75: This is free software; see the source for copying conditions. There is NO
! 76: warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
! 77:
! 78: help="
! 79: Try \`$me --help' for more information."
! 80:
! 81: # Parse command line
! 82: while test $# -gt 0 ; do
! 83: case $1 in
! 84: --time-stamp | --time* | -t )
! 85: echo "$timestamp" ; exit 0 ;;
! 86: --version | -v )
! 87: echo "$version" ; exit 0 ;;
! 88: --help | --h* | -h )
! 89: echo "$usage"; exit 0 ;;
! 90: -- ) # Stop option processing
! 91: shift; break ;;
! 92: - ) # Use stdin as input.
! 93: break ;;
! 94: -* )
! 95: echo "$me: invalid option $1$help"
! 96: exit 1 ;;
! 97:
! 98: *local*)
! 99: # First pass through any local machine types.
! 100: echo $1
! 101: exit 0;;
! 102:
! 103: * )
! 104: break ;;
! 105: esac
! 106: done
! 107:
! 108: case $# in
! 109: 0) echo "$me: missing argument$help" >&2
! 110: exit 1;;
! 111: 1) ;;
! 112: *) echo "$me: too many arguments$help" >&2
! 113: exit 1;;
! 114: esac
! 115:
! 116: # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
! 117: # Here we must recognize all the valid KERNEL-OS combinations.
! 118: maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
! 119: case $maybe_os in
! 120: nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
! 121: os=-$maybe_os
! 122: basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
! 123: ;;
! 124: *)
! 125: basic_machine=`echo $1 | sed 's/-[^-]*$//'`
! 126: if [ $basic_machine != $1 ]
! 127: then os=`echo $1 | sed 's/.*-/-/'`
! 128: else os=; fi
! 129: ;;
! 130: esac
! 131:
! 132: ### Let's recognize common machines as not being operating systems so
! 133: ### that things like config.sub decstation-3100 work. We also
! 134: ### recognize some manufacturers as not being operating systems, so we
! 135: ### can provide default operating systems below.
! 136: case $os in
! 137: -sun*os*)
! 138: # Prevent following clause from handling this invalid input.
! 139: ;;
! 140: -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
! 141: -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
! 142: -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
! 143: -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
! 144: -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
! 145: -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
! 146: -apple | -axis)
! 147: os=
! 148: basic_machine=$1
! 149: ;;
! 150: -sim | -cisco | -oki | -wec | -winbond)
! 151: os=
! 152: basic_machine=$1
! 153: ;;
! 154: -scout)
! 155: ;;
! 156: -wrs)
! 157: os=-vxworks
! 158: basic_machine=$1
! 159: ;;
! 160: -hiux*)
! 161: os=-hiuxwe2
! 162: ;;
! 163: -sco5)
! 164: os=-sco3.2v5
! 165: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 166: ;;
! 167: -sco4)
! 168: os=-sco3.2v4
! 169: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 170: ;;
! 171: -sco3.2.[4-9]*)
! 172: os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
! 173: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 174: ;;
! 175: -sco3.2v[4-9]*)
! 176: # Don't forget version if it is 3.2v4 or newer.
! 177: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 178: ;;
! 179: -sco*)
! 180: os=-sco3.2v2
! 181: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 182: ;;
! 183: -udk*)
! 184: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 185: ;;
! 186: -isc)
! 187: os=-isc2.2
! 188: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 189: ;;
! 190: -clix*)
! 191: basic_machine=clipper-intergraph
! 192: ;;
! 193: -isc*)
! 194: basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
! 195: ;;
! 196: -lynx*)
! 197: os=-lynxos
! 198: ;;
! 199: -ptx*)
! 200: basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
! 201: ;;
! 202: -windowsnt*)
! 203: os=`echo $os | sed -e 's/windowsnt/winnt/'`
! 204: ;;
! 205: -psos*)
! 206: os=-psos
! 207: ;;
! 208: -mint | -mint[0-9]*)
! 209: basic_machine=m68k-atari
! 210: os=-mint
! 211: ;;
! 212: esac
! 213:
! 214: # Decode aliases for certain CPU-COMPANY combinations.
! 215: case $basic_machine in
! 216: # Recognize the basic CPU types without company name.
! 217: # Some are omitted here because they have special meanings below.
! 218: tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
! 219: | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
! 220: | pyramid | mn10200 | mn10300 | tron | a29k \
! 221: | 580 | i960 | h8300 \
! 222: | x86 | ppcbe | mipsbe | mipsle | shbe | shle \
! 223: | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
! 224: | hppa64 \
! 225: | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
! 226: | alphaev6[78] \
! 227: | we32k | ns16k | clipper | i370 | sh | sh[34] \
! 228: | powerpc | powerpcle \
! 229: | 1750a | dsp16xx | pdp10 | pdp11 \
! 230: | mips16 | mips64 | mipsel | mips64el \
! 231: | mips64orion | mips64orionel | mipstx39 | mipstx39el \
! 232: | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
! 233: | mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
! 234: | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
! 235: | v850 | c4x \
! 236: | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
! 237: | pj | pjl | h8500)
! 238: basic_machine=$basic_machine-unknown
! 239: ;;
! 240: m6811 | m68hc11 | m6812 | m68hc12)
! 241: # Motorola 68HC11/12.
! 242: basic_machine=$basic_machine-unknown
! 243: os=-none
! 244: ;;
! 245: m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
! 246: ;;
! 247:
! 248: # We use `pc' rather than `unknown'
! 249: # because (1) that's what they normally are, and
! 250: # (2) the word "unknown" tends to confuse beginning users.
! 251: i*86 | x86_64)
! 252: basic_machine=$basic_machine-pc
! 253: ;;
! 254: # Object if more than one company name word.
! 255: *-*-*)
! 256: echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
! 257: exit 1
! 258: ;;
! 259: # Recognize the basic CPU types with company name.
! 260: # FIXME: clean up the formatting here.
! 261: vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
! 262: | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
! 263: | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
! 264: | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
! 265: | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
! 266: | xmp-* | ymp-* \
! 267: | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
! 268: | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
! 269: | hppa2.0n-* | hppa64-* \
! 270: | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
! 271: | alphaev6[78]-* \
! 272: | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
! 273: | clipper-* | orion-* \
! 274: | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
! 275: | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
! 276: | mips16-* | mips64-* | mipsel-* \
! 277: | mips64el-* | mips64orion-* | mips64orionel-* \
! 278: | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
! 279: | mipstx39-* | mipstx39el-* | mcore-* \
! 280: | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
! 281: | [cjt]90-* \
! 282: | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
! 283: | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
! 284: | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
! 285: ;;
! 286: # Recognize the various machine names and aliases which stand
! 287: # for a CPU type and a company and sometimes even an OS.
! 288: 386bsd)
! 289: basic_machine=i386-unknown
! 290: os=-bsd
! 291: ;;
! 292: 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
! 293: basic_machine=m68000-att
! 294: ;;
! 295: 3b*)
! 296: basic_machine=we32k-att
! 297: ;;
! 298: a29khif)
! 299: basic_machine=a29k-amd
! 300: os=-udi
! 301: ;;
! 302: adobe68k)
! 303: basic_machine=m68010-adobe
! 304: os=-scout
! 305: ;;
! 306: alliant | fx80)
! 307: basic_machine=fx80-alliant
! 308: ;;
! 309: altos | altos3068)
! 310: basic_machine=m68k-altos
! 311: ;;
! 312: am29k)
! 313: basic_machine=a29k-none
! 314: os=-bsd
! 315: ;;
! 316: amdahl)
! 317: basic_machine=580-amdahl
! 318: os=-sysv
! 319: ;;
! 320: amiga | amiga-*)
! 321: basic_machine=m68k-unknown
! 322: ;;
! 323: amigaos | amigados)
! 324: basic_machine=m68k-unknown
! 325: os=-amigaos
! 326: ;;
! 327: amigaunix | amix)
! 328: basic_machine=m68k-unknown
! 329: os=-sysv4
! 330: ;;
! 331: apollo68)
! 332: basic_machine=m68k-apollo
! 333: os=-sysv
! 334: ;;
! 335: apollo68bsd)
! 336: basic_machine=m68k-apollo
! 337: os=-bsd
! 338: ;;
! 339: aux)
! 340: basic_machine=m68k-apple
! 341: os=-aux
! 342: ;;
! 343: balance)
! 344: basic_machine=ns32k-sequent
! 345: os=-dynix
! 346: ;;
! 347: convex-c1)
! 348: basic_machine=c1-convex
! 349: os=-bsd
! 350: ;;
! 351: convex-c2)
! 352: basic_machine=c2-convex
! 353: os=-bsd
! 354: ;;
! 355: convex-c32)
! 356: basic_machine=c32-convex
! 357: os=-bsd
! 358: ;;
! 359: convex-c34)
! 360: basic_machine=c34-convex
! 361: os=-bsd
! 362: ;;
! 363: convex-c38)
! 364: basic_machine=c38-convex
! 365: os=-bsd
! 366: ;;
! 367: cray | ymp)
! 368: basic_machine=ymp-cray
! 369: os=-unicos
! 370: ;;
! 371: cray2)
! 372: basic_machine=cray2-cray
! 373: os=-unicos
! 374: ;;
! 375: [cjt]90)
! 376: basic_machine=${basic_machine}-cray
! 377: os=-unicos
! 378: ;;
! 379: crds | unos)
! 380: basic_machine=m68k-crds
! 381: ;;
! 382: cris | cris-* | etrax*)
! 383: basic_machine=cris-axis
! 384: ;;
! 385: da30 | da30-*)
! 386: basic_machine=m68k-da30
! 387: ;;
! 388: decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
! 389: basic_machine=mips-dec
! 390: ;;
! 391: delta | 3300 | motorola-3300 | motorola-delta \
! 392: | 3300-motorola | delta-motorola)
! 393: basic_machine=m68k-motorola
! 394: ;;
! 395: delta88)
! 396: basic_machine=m88k-motorola
! 397: os=-sysv3
! 398: ;;
! 399: dpx20 | dpx20-*)
! 400: basic_machine=rs6000-bull
! 401: os=-bosx
! 402: ;;
! 403: dpx2* | dpx2*-bull)
! 404: basic_machine=m68k-bull
! 405: os=-sysv3
! 406: ;;
! 407: ebmon29k)
! 408: basic_machine=a29k-amd
! 409: os=-ebmon
! 410: ;;
! 411: elxsi)
! 412: basic_machine=elxsi-elxsi
! 413: os=-bsd
! 414: ;;
! 415: encore | umax | mmax)
! 416: basic_machine=ns32k-encore
! 417: ;;
! 418: es1800 | OSE68k | ose68k | ose | OSE)
! 419: basic_machine=m68k-ericsson
! 420: os=-ose
! 421: ;;
! 422: fx2800)
! 423: basic_machine=i860-alliant
! 424: ;;
! 425: genix)
! 426: basic_machine=ns32k-ns
! 427: ;;
! 428: gmicro)
! 429: basic_machine=tron-gmicro
! 430: os=-sysv
! 431: ;;
! 432: go32)
! 433: basic_machine=i386-pc
! 434: os=-go32
! 435: ;;
! 436: h3050r* | hiux*)
! 437: basic_machine=hppa1.1-hitachi
! 438: os=-hiuxwe2
! 439: ;;
! 440: h8300hms)
! 441: basic_machine=h8300-hitachi
! 442: os=-hms
! 443: ;;
! 444: h8300xray)
! 445: basic_machine=h8300-hitachi
! 446: os=-xray
! 447: ;;
! 448: h8500hms)
! 449: basic_machine=h8500-hitachi
! 450: os=-hms
! 451: ;;
! 452: harris)
! 453: basic_machine=m88k-harris
! 454: os=-sysv3
! 455: ;;
! 456: hp300-*)
! 457: basic_machine=m68k-hp
! 458: ;;
! 459: hp300bsd)
! 460: basic_machine=m68k-hp
! 461: os=-bsd
! 462: ;;
! 463: hp300hpux)
! 464: basic_machine=m68k-hp
! 465: os=-hpux
! 466: ;;
! 467: hp3k9[0-9][0-9] | hp9[0-9][0-9])
! 468: basic_machine=hppa1.0-hp
! 469: ;;
! 470: hp9k2[0-9][0-9] | hp9k31[0-9])
! 471: basic_machine=m68000-hp
! 472: ;;
! 473: hp9k3[2-9][0-9])
! 474: basic_machine=m68k-hp
! 475: ;;
! 476: hp9k6[0-9][0-9] | hp6[0-9][0-9])
! 477: basic_machine=hppa1.0-hp
! 478: ;;
! 479: hp9k7[0-79][0-9] | hp7[0-79][0-9])
! 480: basic_machine=hppa1.1-hp
! 481: ;;
! 482: hp9k78[0-9] | hp78[0-9])
! 483: # FIXME: really hppa2.0-hp
! 484: basic_machine=hppa1.1-hp
! 485: ;;
! 486: hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
! 487: # FIXME: really hppa2.0-hp
! 488: basic_machine=hppa1.1-hp
! 489: ;;
! 490: hp9k8[0-9][13679] | hp8[0-9][13679])
! 491: basic_machine=hppa1.1-hp
! 492: ;;
! 493: hp9k8[0-9][0-9] | hp8[0-9][0-9])
! 494: basic_machine=hppa1.0-hp
! 495: ;;
! 496: hppa-next)
! 497: os=-nextstep3
! 498: ;;
! 499: hppaosf)
! 500: basic_machine=hppa1.1-hp
! 501: os=-osf
! 502: ;;
! 503: hppro)
! 504: basic_machine=hppa1.1-hp
! 505: os=-proelf
! 506: ;;
! 507: i370-ibm* | ibm*)
! 508: basic_machine=i370-ibm
! 509: ;;
! 510: # I'm not sure what "Sysv32" means. Should this be sysv3.2?
! 511: i*86v32)
! 512: basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
! 513: os=-sysv32
! 514: ;;
! 515: i*86v4*)
! 516: basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
! 517: os=-sysv4
! 518: ;;
! 519: i*86v)
! 520: basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
! 521: os=-sysv
! 522: ;;
! 523: i*86sol2)
! 524: basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
! 525: os=-solaris2
! 526: ;;
! 527: i386mach)
! 528: basic_machine=i386-mach
! 529: os=-mach
! 530: ;;
! 531: i386-vsta | vsta)
! 532: basic_machine=i386-unknown
! 533: os=-vsta
! 534: ;;
! 535: iris | iris4d)
! 536: basic_machine=mips-sgi
! 537: case $os in
! 538: -irix*)
! 539: ;;
! 540: *)
! 541: os=-irix4
! 542: ;;
! 543: esac
! 544: ;;
! 545: isi68 | isi)
! 546: basic_machine=m68k-isi
! 547: os=-sysv
! 548: ;;
! 549: m88k-omron*)
! 550: basic_machine=m88k-omron
! 551: ;;
! 552: magnum | m3230)
! 553: basic_machine=mips-mips
! 554: os=-sysv
! 555: ;;
! 556: merlin)
! 557: basic_machine=ns32k-utek
! 558: os=-sysv
! 559: ;;
! 560: mingw32)
! 561: basic_machine=i386-pc
! 562: os=-mingw32
! 563: ;;
! 564: miniframe)
! 565: basic_machine=m68000-convergent
! 566: ;;
! 567: *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
! 568: basic_machine=m68k-atari
! 569: os=-mint
! 570: ;;
! 571: mipsel*-linux*)
! 572: basic_machine=mipsel-unknown
! 573: os=-linux-gnu
! 574: ;;
! 575: mips*-linux*)
! 576: basic_machine=mips-unknown
! 577: os=-linux-gnu
! 578: ;;
! 579: mips3*-*)
! 580: basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
! 581: ;;
! 582: mips3*)
! 583: basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
! 584: ;;
! 585: mmix*)
! 586: basic_machine=mmix-knuth
! 587: os=-mmixware
! 588: ;;
! 589: monitor)
! 590: basic_machine=m68k-rom68k
! 591: os=-coff
! 592: ;;
! 593: msdos)
! 594: basic_machine=i386-pc
! 595: os=-msdos
! 596: ;;
! 597: mvs)
! 598: basic_machine=i370-ibm
! 599: os=-mvs
! 600: ;;
! 601: ncr3000)
! 602: basic_machine=i486-ncr
! 603: os=-sysv4
! 604: ;;
! 605: netbsd386)
! 606: basic_machine=i386-unknown
! 607: os=-netbsd
! 608: ;;
! 609: netwinder)
! 610: basic_machine=armv4l-rebel
! 611: os=-linux
! 612: ;;
! 613: news | news700 | news800 | news900)
! 614: basic_machine=m68k-sony
! 615: os=-newsos
! 616: ;;
! 617: news1000)
! 618: basic_machine=m68030-sony
! 619: os=-newsos
! 620: ;;
! 621: news-3600 | risc-news)
! 622: basic_machine=mips-sony
! 623: os=-newsos
! 624: ;;
! 625: necv70)
! 626: basic_machine=v70-nec
! 627: os=-sysv
! 628: ;;
! 629: next | m*-next )
! 630: basic_machine=m68k-next
! 631: case $os in
! 632: -nextstep* )
! 633: ;;
! 634: -ns2*)
! 635: os=-nextstep2
! 636: ;;
! 637: *)
! 638: os=-nextstep3
! 639: ;;
! 640: esac
! 641: ;;
! 642: nh3000)
! 643: basic_machine=m68k-harris
! 644: os=-cxux
! 645: ;;
! 646: nh[45]000)
! 647: basic_machine=m88k-harris
! 648: os=-cxux
! 649: ;;
! 650: nindy960)
! 651: basic_machine=i960-intel
! 652: os=-nindy
! 653: ;;
! 654: mon960)
! 655: basic_machine=i960-intel
! 656: os=-mon960
! 657: ;;
! 658: nonstopux)
! 659: basic_machine=mips-compaq
! 660: os=-nonstopux
! 661: ;;
! 662: np1)
! 663: basic_machine=np1-gould
! 664: ;;
! 665: nsr-tandem)
! 666: basic_machine=nsr-tandem
! 667: ;;
! 668: op50n-* | op60c-*)
! 669: basic_machine=hppa1.1-oki
! 670: os=-proelf
! 671: ;;
! 672: OSE68000 | ose68000)
! 673: basic_machine=m68000-ericsson
! 674: os=-ose
! 675: ;;
! 676: os68k)
! 677: basic_machine=m68k-none
! 678: os=-os68k
! 679: ;;
! 680: pa-hitachi)
! 681: basic_machine=hppa1.1-hitachi
! 682: os=-hiuxwe2
! 683: ;;
! 684: paragon)
! 685: basic_machine=i860-intel
! 686: os=-osf
! 687: ;;
! 688: pbd)
! 689: basic_machine=sparc-tti
! 690: ;;
! 691: pbb)
! 692: basic_machine=m68k-tti
! 693: ;;
! 694: pc532 | pc532-*)
! 695: basic_machine=ns32k-pc532
! 696: ;;
! 697: pentium | p5 | k5 | k6 | nexgen)
! 698: basic_machine=i586-pc
! 699: ;;
! 700: pentiumpro | p6 | 6x86 | athlon)
! 701: basic_machine=i686-pc
! 702: ;;
! 703: pentiumii | pentium2)
! 704: basic_machine=i686-pc
! 705: ;;
! 706: pentium-* | p5-* | k5-* | k6-* | nexgen-*)
! 707: basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
! 708: ;;
! 709: pentiumpro-* | p6-* | 6x86-* | athlon-*)
! 710: basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
! 711: ;;
! 712: pentiumii-* | pentium2-*)
! 713: basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
! 714: ;;
! 715: pn)
! 716: basic_machine=pn-gould
! 717: ;;
! 718: power) basic_machine=power-ibm
! 719: ;;
! 720: ppc) basic_machine=powerpc-unknown
! 721: ;;
! 722: ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
! 723: ;;
! 724: ppcle | powerpclittle | ppc-le | powerpc-little)
! 725: basic_machine=powerpcle-unknown
! 726: ;;
! 727: ppcle-* | powerpclittle-*)
! 728: basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
! 729: ;;
! 730: ps2)
! 731: basic_machine=i386-ibm
! 732: ;;
! 733: pw32)
! 734: basic_machine=i586-unknown
! 735: os=-pw32
! 736: ;;
! 737: rom68k)
! 738: basic_machine=m68k-rom68k
! 739: os=-coff
! 740: ;;
! 741: rm[46]00)
! 742: basic_machine=mips-siemens
! 743: ;;
! 744: rtpc | rtpc-*)
! 745: basic_machine=romp-ibm
! 746: ;;
! 747: sa29200)
! 748: basic_machine=a29k-amd
! 749: os=-udi
! 750: ;;
! 751: sequent)
! 752: basic_machine=i386-sequent
! 753: ;;
! 754: sh)
! 755: basic_machine=sh-hitachi
! 756: os=-hms
! 757: ;;
! 758: sparclite-wrs)
! 759: basic_machine=sparclite-wrs
! 760: os=-vxworks
! 761: ;;
! 762: sps7)
! 763: basic_machine=m68k-bull
! 764: os=-sysv2
! 765: ;;
! 766: spur)
! 767: basic_machine=spur-unknown
! 768: ;;
! 769: st2000)
! 770: basic_machine=m68k-tandem
! 771: ;;
! 772: stratus)
! 773: basic_machine=i860-stratus
! 774: os=-sysv4
! 775: ;;
! 776: sun2)
! 777: basic_machine=m68000-sun
! 778: ;;
! 779: sun2os3)
! 780: basic_machine=m68000-sun
! 781: os=-sunos3
! 782: ;;
! 783: sun2os4)
! 784: basic_machine=m68000-sun
! 785: os=-sunos4
! 786: ;;
! 787: sun3os3)
! 788: basic_machine=m68k-sun
! 789: os=-sunos3
! 790: ;;
! 791: sun3os4)
! 792: basic_machine=m68k-sun
! 793: os=-sunos4
! 794: ;;
! 795: sun4os3)
! 796: basic_machine=sparc-sun
! 797: os=-sunos3
! 798: ;;
! 799: sun4os4)
! 800: basic_machine=sparc-sun
! 801: os=-sunos4
! 802: ;;
! 803: sun4sol2)
! 804: basic_machine=sparc-sun
! 805: os=-solaris2
! 806: ;;
! 807: sun3 | sun3-*)
! 808: basic_machine=m68k-sun
! 809: ;;
! 810: sun4)
! 811: basic_machine=sparc-sun
! 812: ;;
! 813: sun386 | sun386i | roadrunner)
! 814: basic_machine=i386-sun
! 815: ;;
! 816: sv1)
! 817: basic_machine=sv1-cray
! 818: os=-unicos
! 819: ;;
! 820: symmetry)
! 821: basic_machine=i386-sequent
! 822: os=-dynix
! 823: ;;
! 824: t3e)
! 825: basic_machine=t3e-cray
! 826: os=-unicos
! 827: ;;
! 828: tic54x | c54x*)
! 829: basic_machine=tic54x-unknown
! 830: os=-coff
! 831: ;;
! 832: tx39)
! 833: basic_machine=mipstx39-unknown
! 834: ;;
! 835: tx39el)
! 836: basic_machine=mipstx39el-unknown
! 837: ;;
! 838: tower | tower-32)
! 839: basic_machine=m68k-ncr
! 840: ;;
! 841: udi29k)
! 842: basic_machine=a29k-amd
! 843: os=-udi
! 844: ;;
! 845: ultra3)
! 846: basic_machine=a29k-nyu
! 847: os=-sym1
! 848: ;;
! 849: v810 | necv810)
! 850: basic_machine=v810-nec
! 851: os=-none
! 852: ;;
! 853: vaxv)
! 854: basic_machine=vax-dec
! 855: os=-sysv
! 856: ;;
! 857: vms)
! 858: basic_machine=vax-dec
! 859: os=-vms
! 860: ;;
! 861: vpp*|vx|vx-*)
! 862: basic_machine=f301-fujitsu
! 863: ;;
! 864: vxworks960)
! 865: basic_machine=i960-wrs
! 866: os=-vxworks
! 867: ;;
! 868: vxworks68)
! 869: basic_machine=m68k-wrs
! 870: os=-vxworks
! 871: ;;
! 872: vxworks29k)
! 873: basic_machine=a29k-wrs
! 874: os=-vxworks
! 875: ;;
! 876: w65*)
! 877: basic_machine=w65-wdc
! 878: os=-none
! 879: ;;
! 880: w89k-*)
! 881: basic_machine=hppa1.1-winbond
! 882: os=-proelf
! 883: ;;
! 884: xmp)
! 885: basic_machine=xmp-cray
! 886: os=-unicos
! 887: ;;
! 888: xps | xps100)
! 889: basic_machine=xps100-honeywell
! 890: ;;
! 891: z8k-*-coff)
! 892: basic_machine=z8k-unknown
! 893: os=-sim
! 894: ;;
! 895: none)
! 896: basic_machine=none-none
! 897: os=-none
! 898: ;;
! 899:
! 900: # Here we handle the default manufacturer of certain CPU types. It is in
! 901: # some cases the only manufacturer, in others, it is the most popular.
! 902: w89k)
! 903: basic_machine=hppa1.1-winbond
! 904: ;;
! 905: op50n)
! 906: basic_machine=hppa1.1-oki
! 907: ;;
! 908: op60c)
! 909: basic_machine=hppa1.1-oki
! 910: ;;
! 911: mips)
! 912: if [ x$os = x-linux-gnu ]; then
! 913: basic_machine=mips-unknown
! 914: else
! 915: basic_machine=mips-mips
! 916: fi
! 917: ;;
! 918: romp)
! 919: basic_machine=romp-ibm
! 920: ;;
! 921: rs6000)
! 922: basic_machine=rs6000-ibm
! 923: ;;
! 924: vax)
! 925: basic_machine=vax-dec
! 926: ;;
! 927: pdp10)
! 928: # there are many clones, so DEC is not a safe bet
! 929: basic_machine=pdp10-unknown
! 930: ;;
! 931: pdp11)
! 932: basic_machine=pdp11-dec
! 933: ;;
! 934: we32k)
! 935: basic_machine=we32k-att
! 936: ;;
! 937: sh3 | sh4)
! 938: basic_machine=sh-unknown
! 939: ;;
! 940: sparc | sparcv9 | sparcv9b)
! 941: basic_machine=sparc-sun
! 942: ;;
! 943: cydra)
! 944: basic_machine=cydra-cydrome
! 945: ;;
! 946: orion)
! 947: basic_machine=orion-highlevel
! 948: ;;
! 949: orion105)
! 950: basic_machine=clipper-highlevel
! 951: ;;
! 952: mac | mpw | mac-mpw)
! 953: basic_machine=m68k-apple
! 954: ;;
! 955: pmac | pmac-mpw)
! 956: basic_machine=powerpc-apple
! 957: ;;
! 958: c4x*)
! 959: basic_machine=c4x-none
! 960: os=-coff
! 961: ;;
! 962: *-unknown)
! 963: # Make sure to match an already-canonicalized machine name.
! 964: ;;
! 965: *)
! 966: echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
! 967: exit 1
! 968: ;;
! 969: esac
! 970:
! 971: # Here we canonicalize certain aliases for manufacturers.
! 972: case $basic_machine in
! 973: *-digital*)
! 974: basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
! 975: ;;
! 976: *-commodore*)
! 977: basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
! 978: ;;
! 979: *)
! 980: ;;
! 981: esac
! 982:
! 983: # Decode manufacturer-specific aliases for certain operating systems.
! 984:
! 985: if [ x"$os" != x"" ]
! 986: then
! 987: case $os in
! 988: # First match some system type aliases
! 989: # that might get confused with valid system types.
! 990: # -solaris* is a basic system type, with this one exception.
! 991: -solaris1 | -solaris1.*)
! 992: os=`echo $os | sed -e 's|solaris1|sunos4|'`
! 993: ;;
! 994: -solaris)
! 995: os=-solaris2
! 996: ;;
! 997: -svr4*)
! 998: os=-sysv4
! 999: ;;
! 1000: -unixware*)
! 1001: os=-sysv4.2uw
! 1002: ;;
! 1003: -gnu/linux*)
! 1004: os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
! 1005: ;;
! 1006: # First accept the basic system types.
! 1007: # The portable systems comes first.
! 1008: # Each alternative MUST END IN A *, to match a version number.
! 1009: # -sysv* is not here because it comes later, after sysvr4.
! 1010: -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
! 1011: | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
! 1012: | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
! 1013: | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
! 1014: | -aos* \
! 1015: | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
! 1016: | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
! 1017: | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
! 1018: | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
! 1019: | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
! 1020: | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
! 1021: | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
! 1022: | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
! 1023: | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
! 1024: | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
! 1025: | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
! 1026: # Remember, each alternative MUST END IN *, to match a version number.
! 1027: ;;
! 1028: -qnx*)
! 1029: case $basic_machine in
! 1030: x86-* | i*86-*)
! 1031: ;;
! 1032: *)
! 1033: os=-nto$os
! 1034: ;;
! 1035: esac
! 1036: ;;
! 1037: -nto*)
! 1038: os=-nto-qnx
! 1039: ;;
! 1040: -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
! 1041: | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
! 1042: | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
! 1043: ;;
! 1044: -mac*)
! 1045: os=`echo $os | sed -e 's|mac|macos|'`
! 1046: ;;
! 1047: -linux*)
! 1048: os=`echo $os | sed -e 's|linux|linux-gnu|'`
! 1049: ;;
! 1050: -sunos5*)
! 1051: os=`echo $os | sed -e 's|sunos5|solaris2|'`
! 1052: ;;
! 1053: -sunos6*)
! 1054: os=`echo $os | sed -e 's|sunos6|solaris3|'`
! 1055: ;;
! 1056: -opened*)
! 1057: os=-openedition
! 1058: ;;
! 1059: -wince*)
! 1060: os=-wince
! 1061: ;;
! 1062: -osfrose*)
! 1063: os=-osfrose
! 1064: ;;
! 1065: -osf*)
! 1066: os=-osf
! 1067: ;;
! 1068: -utek*)
! 1069: os=-bsd
! 1070: ;;
! 1071: -dynix*)
! 1072: os=-bsd
! 1073: ;;
! 1074: -acis*)
! 1075: os=-aos
! 1076: ;;
! 1077: -386bsd)
! 1078: os=-bsd
! 1079: ;;
! 1080: -ctix* | -uts*)
! 1081: os=-sysv
! 1082: ;;
! 1083: -ns2 )
! 1084: os=-nextstep2
! 1085: ;;
! 1086: -nsk*)
! 1087: os=-nsk
! 1088: ;;
! 1089: # Preserve the version number of sinix5.
! 1090: -sinix5.*)
! 1091: os=`echo $os | sed -e 's|sinix|sysv|'`
! 1092: ;;
! 1093: -sinix*)
! 1094: os=-sysv4
! 1095: ;;
! 1096: -triton*)
! 1097: os=-sysv3
! 1098: ;;
! 1099: -oss*)
! 1100: os=-sysv3
! 1101: ;;
! 1102: -svr4)
! 1103: os=-sysv4
! 1104: ;;
! 1105: -svr3)
! 1106: os=-sysv3
! 1107: ;;
! 1108: -sysvr4)
! 1109: os=-sysv4
! 1110: ;;
! 1111: # This must come after -sysvr4.
! 1112: -sysv*)
! 1113: ;;
! 1114: -ose*)
! 1115: os=-ose
! 1116: ;;
! 1117: -es1800*)
! 1118: os=-ose
! 1119: ;;
! 1120: -xenix)
! 1121: os=-xenix
! 1122: ;;
! 1123: -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
! 1124: os=-mint
! 1125: ;;
! 1126: -none)
! 1127: ;;
! 1128: *)
! 1129: # Get rid of the `-' at the beginning of $os.
! 1130: os=`echo $os | sed 's/[^-]*-//'`
! 1131: echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
! 1132: exit 1
! 1133: ;;
! 1134: esac
! 1135: else
! 1136:
! 1137: # Here we handle the default operating systems that come with various machines.
! 1138: # The value should be what the vendor currently ships out the door with their
! 1139: # machine or put another way, the most popular os provided with the machine.
! 1140:
! 1141: # Note that if you're going to try to match "-MANUFACTURER" here (say,
! 1142: # "-sun"), then you have to tell the case statement up towards the top
! 1143: # that MANUFACTURER isn't an operating system. Otherwise, code above
! 1144: # will signal an error saying that MANUFACTURER isn't an operating
! 1145: # system, and we'll never get to this point.
! 1146:
! 1147: case $basic_machine in
! 1148: *-acorn)
! 1149: os=-riscix1.2
! 1150: ;;
! 1151: arm*-rebel)
! 1152: os=-linux
! 1153: ;;
! 1154: arm*-semi)
! 1155: os=-aout
! 1156: ;;
! 1157: pdp10-*)
! 1158: os=-tops20
! 1159: ;;
! 1160: pdp11-*)
! 1161: os=-none
! 1162: ;;
! 1163: *-dec | vax-*)
! 1164: os=-ultrix4.2
! 1165: ;;
! 1166: m68*-apollo)
! 1167: os=-domain
! 1168: ;;
! 1169: i386-sun)
! 1170: os=-sunos4.0.2
! 1171: ;;
! 1172: m68000-sun)
! 1173: os=-sunos3
! 1174: # This also exists in the configure program, but was not the
! 1175: # default.
! 1176: # os=-sunos4
! 1177: ;;
! 1178: m68*-cisco)
! 1179: os=-aout
! 1180: ;;
! 1181: mips*-cisco)
! 1182: os=-elf
! 1183: ;;
! 1184: mips*-*)
! 1185: os=-elf
! 1186: ;;
! 1187: *-tti) # must be before sparc entry or we get the wrong os.
! 1188: os=-sysv3
! 1189: ;;
! 1190: sparc-* | *-sun)
! 1191: os=-sunos4.1.1
! 1192: ;;
! 1193: *-be)
! 1194: os=-beos
! 1195: ;;
! 1196: *-ibm)
! 1197: os=-aix
! 1198: ;;
! 1199: *-wec)
! 1200: os=-proelf
! 1201: ;;
! 1202: *-winbond)
! 1203: os=-proelf
! 1204: ;;
! 1205: *-oki)
! 1206: os=-proelf
! 1207: ;;
! 1208: *-hp)
! 1209: os=-hpux
! 1210: ;;
! 1211: *-hitachi)
! 1212: os=-hiux
! 1213: ;;
! 1214: i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
! 1215: os=-sysv
! 1216: ;;
! 1217: *-cbm)
! 1218: os=-amigaos
! 1219: ;;
! 1220: *-dg)
! 1221: os=-dgux
! 1222: ;;
! 1223: *-dolphin)
! 1224: os=-sysv3
! 1225: ;;
! 1226: m68k-ccur)
! 1227: os=-rtu
! 1228: ;;
! 1229: m88k-omron*)
! 1230: os=-luna
! 1231: ;;
! 1232: *-next )
! 1233: os=-nextstep
! 1234: ;;
! 1235: *-sequent)
! 1236: os=-ptx
! 1237: ;;
! 1238: *-crds)
! 1239: os=-unos
! 1240: ;;
! 1241: *-ns)
! 1242: os=-genix
! 1243: ;;
! 1244: i370-*)
! 1245: os=-mvs
! 1246: ;;
! 1247: *-next)
! 1248: os=-nextstep3
! 1249: ;;
! 1250: *-gould)
! 1251: os=-sysv
! 1252: ;;
! 1253: *-highlevel)
! 1254: os=-bsd
! 1255: ;;
! 1256: *-encore)
! 1257: os=-bsd
! 1258: ;;
! 1259: *-sgi)
! 1260: os=-irix
! 1261: ;;
! 1262: *-siemens)
! 1263: os=-sysv4
! 1264: ;;
! 1265: *-masscomp)
! 1266: os=-rtu
! 1267: ;;
! 1268: f30[01]-fujitsu | f700-fujitsu)
! 1269: os=-uxpv
! 1270: ;;
! 1271: *-rom68k)
! 1272: os=-coff
! 1273: ;;
! 1274: *-*bug)
! 1275: os=-coff
! 1276: ;;
! 1277: *-apple)
! 1278: os=-macos
! 1279: ;;
! 1280: *-atari*)
! 1281: os=-mint
! 1282: ;;
! 1283: *)
! 1284: os=-none
! 1285: ;;
! 1286: esac
! 1287: fi
! 1288:
! 1289: # Here we handle the case where we know the os, and the CPU type, but not the
! 1290: # manufacturer. We pick the logical manufacturer.
! 1291: vendor=unknown
! 1292: case $basic_machine in
! 1293: *-unknown)
! 1294: case $os in
! 1295: -riscix*)
! 1296: vendor=acorn
! 1297: ;;
! 1298: -sunos*)
! 1299: vendor=sun
! 1300: ;;
! 1301: -aix*)
! 1302: vendor=ibm
! 1303: ;;
! 1304: -beos*)
! 1305: vendor=be
! 1306: ;;
! 1307: -hpux*)
! 1308: vendor=hp
! 1309: ;;
! 1310: -mpeix*)
! 1311: vendor=hp
! 1312: ;;
! 1313: -hiux*)
! 1314: vendor=hitachi
! 1315: ;;
! 1316: -unos*)
! 1317: vendor=crds
! 1318: ;;
! 1319: -dgux*)
! 1320: vendor=dg
! 1321: ;;
! 1322: -luna*)
! 1323: vendor=omron
! 1324: ;;
! 1325: -genix*)
! 1326: vendor=ns
! 1327: ;;
! 1328: -mvs* | -opened*)
! 1329: vendor=ibm
! 1330: ;;
! 1331: -ptx*)
! 1332: vendor=sequent
! 1333: ;;
! 1334: -vxsim* | -vxworks*)
! 1335: vendor=wrs
! 1336: ;;
! 1337: -aux*)
! 1338: vendor=apple
! 1339: ;;
! 1340: -hms*)
! 1341: vendor=hitachi
! 1342: ;;
! 1343: -mpw* | -macos*)
! 1344: vendor=apple
! 1345: ;;
! 1346: -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
! 1347: vendor=atari
! 1348: ;;
! 1349: esac
! 1350: basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
! 1351: ;;
! 1352: esac
! 1353:
! 1354: echo $basic_machine$os
! 1355: exit 0
! 1356:
! 1357: # Local variables:
! 1358: # eval: (add-hook 'write-file-hooks 'time-stamp)
! 1359: # time-stamp-start: "timestamp='"
! 1360: # time-stamp-format: "%:y-%02m-%02d"
! 1361: # time-stamp-end: "'"
! 1362: # End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>