scripts/config.sub
author Bart vdr. Meulen <bartvdrmeulen@gmail.com>
Sun Aug 02 16:45:43 2009 +0200 (2009-08-02)
changeset 1434 7e7290acccc1
parent 1309 8f5a412ba2ac
child 1511 3cf40e1f1ba6
permissions -rwxr-xr-x
fix wrapper script for symlinks

The wrapper script placed around the target binaries when
using the companion libraries does not work for symbolic links
The wrapper scripts needs to follow the links before calling the
actual binary

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>

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