scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu May 19 22:29:49 2011 +0200 (2011-05-19)
changeset 2468 90595d1c1017
parent 2334 f4e5daf96796
child 2538 b926c87d9339
permissions -rwxr-xr-x
scripts: munge .config to handle array variables

Transfrom array variables from pure strings (in the kconfig output)
into proper bash arrays declarations, for feeding to the build scripts.

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