tools/config.sub
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
parent 53 627bac94ed48
child 494 b4a30fecfb45
permissions -rwxr-xr-x
Robert P. J. DAY says:

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