Annotation of embedaddon/sudo/config.sub, revision 1.1.1.3

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

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