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