scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 04 17:27:16 2009 +0200 (2009-09-04)
changeset 1512 439a6b292917
parent 1418 339c8a5c9797
child 1547 9317c32fe7e5
permissions -rwxr-xr-x
TODO: update

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