scripts/config.sub
author Yann E. MORIN
Wed Jun 17 10:46:28 2009 +0200 (2009-06-17)
changeset 1409 7264ce426be4
parent 1261 4e1562059404
child 1418 339c8a5c9797
permissions -rwxr-xr-x
[configure] Use hg to compute the version string

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