cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

config.sub (36073B)


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