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