Annotation of rpl/config.sub, revision 1.5

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

CVSweb interface <joel.bertrand@systella.fr>