Annotation of gforth/config.sub, revision 1.6

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

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