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