File:  [gforth] / gforth / config.sub
Revision 1.8: download - view: text, annotated - select for diffs
Fri Oct 5 23:57:30 2012 UTC (11 years, 6 months ago) by pazsan
Branches: MAIN
CVS tags: HEAD
Android Gforth changes

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

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