Annotation of gforth/config.sub, revision 1.5

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>