test/config.sub
author Sam Lantinga <slouken@lokigames.com>
Thu, 26 Apr 2001 16:45:43 +0000
changeset 0 74212992fb08
child 51 fba28d77901f
permissions -rw-r--r--
Initial revision
     1 #! /bin/sh
     2 # Configuration validation subroutine script, version 1.1.
     3 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
     4 #   Free Software Foundation, Inc.
     5 
     6 version='2000-09-11'
     7 
     8 # This file is (in principle) common to ALL GNU software.
     9 # The presence of a machine in this file suggests that SOME GNU software
    10 # can handle that machine.  It does not imply ALL GNU software can.
    11 #
    12 # This file is free software; you can redistribute it and/or modify
    13 # it under the terms of the GNU General Public License as published by
    14 # the Free Software Foundation; either version 2 of the License, or
    15 # (at your option) any later version.
    16 #
    17 # This program is distributed in the hope that it will be useful,
    18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
    19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    20 # GNU General Public License for more details.
    21 #
    22 # You should have received a copy of the GNU General Public License
    23 # along with this program; if not, write to the Free Software
    24 # Foundation, Inc., 59 Temple Place - Suite 330,
    25 # Boston, MA 02111-1307, USA.
    26 
    27 # As a special exception to the GNU General Public License, if you
    28 # distribute this file as part of a program that contains a
    29 # configuration script generated by Autoconf, you may include it under
    30 # the same distribution terms that you use for the rest of that program.
    31 
    32 # Please send patches to <config-patches@gnu.org>.
    33 #
    34 # Configuration subroutine to validate and canonicalize a configuration type.
    35 # Supply the specified configuration type as an argument.
    36 # If it is invalid, we print an error message on stderr and exit with code 1.
    37 # Otherwise, we print the canonical config type on stdout and succeed.
    38 
    39 # This file is supposed to be the same for all GNU packages
    40 # and recognize all the CPU types, system types and aliases
    41 # that are meaningful with *any* GNU software.
    42 # Each package is responsible for reporting which valid configurations
    43 # it does not support.  The user should be able to distinguish
    44 # a failure to support a valid configuration from a meaningless
    45 # configuration.
    46 
    47 # The goal of this file is to map all the various variations of a given
    48 # machine specification into a single specification in the form:
    49 #	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
    50 # or in some cases, the newer four-part form:
    51 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
    52 # It is wrong to echo any other type of specification.
    53 
    54 me=`echo "$0" | sed -e 's,.*/,,'`
    55 
    56 usage="\
    57 Usage: $0 [OPTION] CPU-MFR-OPSYS
    58        $0 [OPTION] ALIAS
    59 
    60 Canonicalize a configuration name.
    61 
    62 Operation modes:
    63   -h, --help               print this help, then exit
    64   -V, --version            print version number, then exit"
    65 
    66 help="
    67 Try \`$me --help' for more information."
    68 
    69 # Parse command line
    70 while test $# -gt 0 ; do
    71   case "$1" in
    72     --version | --vers* | -V )
    73        echo "$version" ; exit 0 ;;
    74     --help | --h* | -h )
    75        echo "$usage"; exit 0 ;;
    76     -- )     # Stop option processing
    77        shift; break ;;
    78     - )	# Use stdin as input.
    79        break ;;
    80     -* )
    81        exec >&2
    82        echo "$me: invalid option $1"
    83        echo "$help"
    84        exit 1 ;;
    85 
    86     *local*)
    87        # First pass through any local machine types.
    88        echo $1
    89        exit 0;;
    90 
    91     * )
    92        break ;;
    93   esac
    94 done
    95 
    96 case $# in
    97  0) echo "$me: missing argument$help" >&2
    98     exit 1;;
    99  1) ;;
   100  *) echo "$me: too many arguments$help" >&2
   101     exit 1;;
   102 esac
   103 
   104 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
   105 # Here we must recognize all the valid KERNEL-OS combinations.
   106 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
   107 case $maybe_os in
   108   nto-qnx* | linux-gnu*)
   109     os=-$maybe_os
   110     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
   111     ;;
   112   *)
   113     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
   114     if [ $basic_machine != $1 ]
   115     then os=`echo $1 | sed 's/.*-/-/'`
   116     else os=; fi
   117     ;;
   118 esac
   119 
   120 ### Let's recognize common machines as not being operating systems so
   121 ### that things like config.sub decstation-3100 work.  We also
   122 ### recognize some manufacturers as not being operating systems, so we
   123 ### can provide default operating systems below.
   124 case $os in
   125 	-sun*os*)
   126 		# Prevent following clause from handling this invalid input.
   127 		;;
   128 	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
   129 	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
   130 	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
   131 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
   132 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
   133 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
   134 	-apple | -axis)
   135 		os=
   136 		basic_machine=$1
   137 		;;
   138 	-sim | -cisco | -oki | -wec | -winbond)
   139 		os=
   140 		basic_machine=$1
   141 		;;
   142 	-scout)
   143 		;;
   144 	-wrs)
   145 		os=-vxworks
   146 		basic_machine=$1
   147 		;;
   148 	-hiux*)
   149 		os=-hiuxwe2
   150 		;;
   151 	-sco5)
   152 		os=-sco3.2v5
   153 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   154 		;;
   155 	-sco4)
   156 		os=-sco3.2v4
   157 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   158 		;;
   159 	-sco3.2.[4-9]*)
   160 		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
   161 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   162 		;;
   163 	-sco3.2v[4-9]*)
   164 		# Don't forget version if it is 3.2v4 or newer.
   165 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   166 		;;
   167 	-sco*)
   168 		os=-sco3.2v2
   169 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   170 		;;
   171 	-udk*)
   172 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   173 		;;
   174 	-isc)
   175 		os=-isc2.2
   176 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   177 		;;
   178 	-clix*)
   179 		basic_machine=clipper-intergraph
   180 		;;
   181 	-isc*)
   182 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   183 		;;
   184 	-lynx*)
   185 		os=-lynxos
   186 		;;
   187 	-ptx*)
   188 		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
   189 		;;
   190 	-windowsnt*)
   191 		os=`echo $os | sed -e 's/windowsnt/winnt/'`
   192 		;;
   193 	-psos*)
   194 		os=-psos
   195 		;;
   196 	-mint | -mint[0-9]*)
   197 		basic_machine=m68k-atari
   198 		os=-mint
   199 		;;
   200 esac
   201 
   202 # Decode aliases for certain CPU-COMPANY combinations.
   203 case $basic_machine in
   204 	# Recognize the basic CPU types without company name.
   205 	# Some are omitted here because they have special meanings below.
   206 	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
   207 		| arme[lb] | armv[2345] | armv[345][lb] | pyramid | mn10200 | mn10300 | tron | a29k \
   208 		| 580 | i960 | h8300 \
   209 		| x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
   210 		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
   211 		| hppa64 \
   212 		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
   213 		| alphaev6[78] \
   214 		| we32k | ns16k | clipper | i370 | sh | sh[34] \
   215 		| powerpc | powerpcle \
   216 		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
   217 		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
   218 		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
   219 		| mips64vr5000 | miprs64vr5000el | mcore \
   220 		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
   221 		| thumb | d10v | d30v | fr30 | avr)
   222 		basic_machine=$basic_machine-unknown
   223 		;;
   224 	m6811 | m68hc11 | m6812 | m68hc12)
   225 		# Motorola 68HC11/12.
   226 		basic_machine=$basic_machine-unknown
   227 		os=-none
   228 		;;
   229 	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
   230 		;;
   231 
   232 	# We use `pc' rather than `unknown'
   233 	# because (1) that's what they normally are, and
   234 	# (2) the word "unknown" tends to confuse beginning users.
   235 	i[234567]86 | x86_64)
   236 	  basic_machine=$basic_machine-pc
   237 	  ;;
   238 	# Object if more than one company name word.
   239 	*-*-*)
   240 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
   241 		exit 1
   242 		;;
   243 	# Recognize the basic CPU types with company name.
   244 	# FIXME: clean up the formatting here.
   245 	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
   246 	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
   247 	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
   248 	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
   249 	      | xmp-* | ymp-* \
   250 	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
   251 	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
   252 	      | hppa2.0n-* | hppa64-* \
   253 	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
   254 	      | alphaev6[78]-* \
   255 	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
   256 	      | clipper-* | orion-* \
   257 	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
   258 	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
   259 	      | mips64el-* | mips64orion-* | mips64orionel-* \
   260 	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
   261 	      | mipstx39-* | mipstx39el-* | mcore-* \
   262 	      | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
   263 	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
   264 	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
   265 	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
   266 		;;
   267 	# Recognize the various machine names and aliases which stand
   268 	# for a CPU type and a company and sometimes even an OS.
   269 	386bsd)
   270 		basic_machine=i386-unknown
   271 		os=-bsd
   272 		;;
   273 	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
   274 		basic_machine=m68000-att
   275 		;;
   276 	3b*)
   277 		basic_machine=we32k-att
   278 		;;
   279 	a29khif)
   280 		basic_machine=a29k-amd
   281 		os=-udi
   282 		;;
   283 	adobe68k)
   284 		basic_machine=m68010-adobe
   285 		os=-scout
   286 		;;
   287 	alliant | fx80)
   288 		basic_machine=fx80-alliant
   289 		;;
   290 	altos | altos3068)
   291 		basic_machine=m68k-altos
   292 		;;
   293 	am29k)
   294 		basic_machine=a29k-none
   295 		os=-bsd
   296 		;;
   297 	amdahl)
   298 		basic_machine=580-amdahl
   299 		os=-sysv
   300 		;;
   301 	amiga | amiga-*)
   302 		basic_machine=m68k-unknown
   303 		;;
   304 	amigaos | amigados)
   305 		basic_machine=m68k-unknown
   306 		os=-amigaos
   307 		;;
   308 	amigaunix | amix)
   309 		basic_machine=m68k-unknown
   310 		os=-sysv4
   311 		;;
   312 	apollo68)
   313 		basic_machine=m68k-apollo
   314 		os=-sysv
   315 		;;
   316 	apollo68bsd)
   317 		basic_machine=m68k-apollo
   318 		os=-bsd
   319 		;;
   320 	aux)
   321 		basic_machine=m68k-apple
   322 		os=-aux
   323 		;;
   324 	balance)
   325 		basic_machine=ns32k-sequent
   326 		os=-dynix
   327 		;;
   328 	convex-c1)
   329 		basic_machine=c1-convex
   330 		os=-bsd
   331 		;;
   332 	convex-c2)
   333 		basic_machine=c2-convex
   334 		os=-bsd
   335 		;;
   336 	convex-c32)
   337 		basic_machine=c32-convex
   338 		os=-bsd
   339 		;;
   340 	convex-c34)
   341 		basic_machine=c34-convex
   342 		os=-bsd
   343 		;;
   344 	convex-c38)
   345 		basic_machine=c38-convex
   346 		os=-bsd
   347 		;;
   348 	cray | ymp)
   349 		basic_machine=ymp-cray
   350 		os=-unicos
   351 		;;
   352 	cray2)
   353 		basic_machine=cray2-cray
   354 		os=-unicos
   355 		;;
   356 	[ctj]90-cray)
   357 		basic_machine=c90-cray
   358 		os=-unicos
   359 		;;
   360 	crds | unos)
   361 		basic_machine=m68k-crds
   362 		;;
   363 	cris | cris-* | etrax*)
   364 		basic_machine=cris-axis
   365 		;;
   366 	da30 | da30-*)
   367 		basic_machine=m68k-da30
   368 		;;
   369 	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
   370 		basic_machine=mips-dec
   371 		;;
   372 	delta | 3300 | motorola-3300 | motorola-delta \
   373 	      | 3300-motorola | delta-motorola)
   374 		basic_machine=m68k-motorola
   375 		;;
   376 	delta88)
   377 		basic_machine=m88k-motorola
   378 		os=-sysv3
   379 		;;
   380 	dpx20 | dpx20-*)
   381 		basic_machine=rs6000-bull
   382 		os=-bosx
   383 		;;
   384 	dpx2* | dpx2*-bull)
   385 		basic_machine=m68k-bull
   386 		os=-sysv3
   387 		;;
   388 	ebmon29k)
   389 		basic_machine=a29k-amd
   390 		os=-ebmon
   391 		;;
   392 	elxsi)
   393 		basic_machine=elxsi-elxsi
   394 		os=-bsd
   395 		;;
   396 	encore | umax | mmax)
   397 		basic_machine=ns32k-encore
   398 		;;
   399 	es1800 | OSE68k | ose68k | ose | OSE)
   400 		basic_machine=m68k-ericsson
   401 		os=-ose
   402 		;;
   403 	fx2800)
   404 		basic_machine=i860-alliant
   405 		;;
   406 	genix)
   407 		basic_machine=ns32k-ns
   408 		;;
   409 	gmicro)
   410 		basic_machine=tron-gmicro
   411 		os=-sysv
   412 		;;
   413 	h3050r* | hiux*)
   414 		basic_machine=hppa1.1-hitachi
   415 		os=-hiuxwe2
   416 		;;
   417 	h8300hms)
   418 		basic_machine=h8300-hitachi
   419 		os=-hms
   420 		;;
   421 	h8300xray)
   422 		basic_machine=h8300-hitachi
   423 		os=-xray
   424 		;;
   425 	h8500hms)
   426 		basic_machine=h8500-hitachi
   427 		os=-hms
   428 		;;
   429 	harris)
   430 		basic_machine=m88k-harris
   431 		os=-sysv3
   432 		;;
   433 	hp300-*)
   434 		basic_machine=m68k-hp
   435 		;;
   436 	hp300bsd)
   437 		basic_machine=m68k-hp
   438 		os=-bsd
   439 		;;
   440 	hp300hpux)
   441 		basic_machine=m68k-hp
   442 		os=-hpux
   443 		;;
   444 	hp3k9[0-9][0-9] | hp9[0-9][0-9])
   445 		basic_machine=hppa1.0-hp
   446 		;;
   447 	hp9k2[0-9][0-9] | hp9k31[0-9])
   448 		basic_machine=m68000-hp
   449 		;;
   450 	hp9k3[2-9][0-9])
   451 		basic_machine=m68k-hp
   452 		;;
   453 	hp9k6[0-9][0-9] | hp6[0-9][0-9])
   454 		basic_machine=hppa1.0-hp
   455 		;;
   456 	hp9k7[0-79][0-9] | hp7[0-79][0-9])
   457 		basic_machine=hppa1.1-hp
   458 		;;
   459 	hp9k78[0-9] | hp78[0-9])
   460 		# FIXME: really hppa2.0-hp
   461 		basic_machine=hppa1.1-hp
   462 		;;
   463 	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
   464 		# FIXME: really hppa2.0-hp
   465 		basic_machine=hppa1.1-hp
   466 		;;
   467 	hp9k8[0-9][13679] | hp8[0-9][13679])
   468 		basic_machine=hppa1.1-hp
   469 		;;
   470 	hp9k8[0-9][0-9] | hp8[0-9][0-9])
   471 		basic_machine=hppa1.0-hp
   472 		;;
   473 	hppa-next)
   474 		os=-nextstep3
   475 		;;
   476 	hppaosf)
   477 		basic_machine=hppa1.1-hp
   478 		os=-osf
   479 		;;
   480 	hppro)
   481 		basic_machine=hppa1.1-hp
   482 		os=-proelf
   483 		;;
   484 	i370-ibm* | ibm*)
   485 		basic_machine=i370-ibm
   486 		;;
   487 # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
   488 	i[34567]86v32)
   489 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   490 		os=-sysv32
   491 		;;
   492 	i[34567]86v4*)
   493 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   494 		os=-sysv4
   495 		;;
   496 	i[34567]86v)
   497 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   498 		os=-sysv
   499 		;;
   500 	i[34567]86sol2)
   501 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   502 		os=-solaris2
   503 		;;
   504 	i386mach)
   505 		basic_machine=i386-mach
   506 		os=-mach
   507 		;;
   508 	i386-vsta | vsta)
   509 		basic_machine=i386-unknown
   510 		os=-vsta
   511 		;;
   512 	i386-go32 | go32)
   513 		basic_machine=i386-unknown
   514 		os=-go32
   515 		;;
   516 	i386-mingw32 | mingw32)
   517 		basic_machine=i386-unknown
   518 		os=-mingw32
   519 		;;
   520 	i[34567]86-pw32 | pw32)
   521 		basic_machine=i586-unknown
   522 		os=-pw32
   523 		;;
   524 	iris | iris4d)
   525 		basic_machine=mips-sgi
   526 		case $os in
   527 		    -irix*)
   528 			;;
   529 		    *)
   530 			os=-irix4
   531 			;;
   532 		esac
   533 		;;
   534 	isi68 | isi)
   535 		basic_machine=m68k-isi
   536 		os=-sysv
   537 		;;
   538 	m88k-omron*)
   539 		basic_machine=m88k-omron
   540 		;;
   541 	magnum | m3230)
   542 		basic_machine=mips-mips
   543 		os=-sysv
   544 		;;
   545 	merlin)
   546 		basic_machine=ns32k-utek
   547 		os=-sysv
   548 		;;
   549 	miniframe)
   550 		basic_machine=m68000-convergent
   551 		;;
   552 	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
   553 		basic_machine=m68k-atari
   554 		os=-mint
   555 		;;
   556 	mipsel*-linux*)
   557 		basic_machine=mipsel-unknown
   558 		os=-linux-gnu
   559 		;;
   560 	mips*-linux*)
   561 		basic_machine=mips-unknown
   562 		os=-linux-gnu
   563 		;;
   564 	mips3*-*)
   565 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
   566 		;;
   567 	mips3*)
   568 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
   569 		;;
   570 	mmix*)
   571 		basic_machine=mmix-knuth
   572 		os=-mmixware
   573 		;;
   574 	monitor)
   575 		basic_machine=m68k-rom68k
   576 		os=-coff
   577 		;;
   578 	msdos)
   579 		basic_machine=i386-unknown
   580 		os=-msdos
   581 		;;
   582 	mvs)
   583 		basic_machine=i370-ibm
   584 		os=-mvs
   585 		;;
   586 	ncr3000)
   587 		basic_machine=i486-ncr
   588 		os=-sysv4
   589 		;;
   590 	netbsd386)
   591 		basic_machine=i386-unknown
   592 		os=-netbsd
   593 		;;
   594 	netwinder)
   595 		basic_machine=armv4l-rebel
   596 		os=-linux
   597 		;;
   598 	news | news700 | news800 | news900)
   599 		basic_machine=m68k-sony
   600 		os=-newsos
   601 		;;
   602 	news1000)
   603 		basic_machine=m68030-sony
   604 		os=-newsos
   605 		;;
   606 	news-3600 | risc-news)
   607 		basic_machine=mips-sony
   608 		os=-newsos
   609 		;;
   610 	necv70)
   611 		basic_machine=v70-nec
   612 		os=-sysv
   613 		;;
   614 	next | m*-next )
   615 		basic_machine=m68k-next
   616 		case $os in
   617 		    -nextstep* )
   618 			;;
   619 		    -ns2*)
   620 		      os=-nextstep2
   621 			;;
   622 		    *)
   623 		      os=-nextstep3
   624 			;;
   625 		esac
   626 		;;
   627 	nh3000)
   628 		basic_machine=m68k-harris
   629 		os=-cxux
   630 		;;
   631 	nh[45]000)
   632 		basic_machine=m88k-harris
   633 		os=-cxux
   634 		;;
   635 	nindy960)
   636 		basic_machine=i960-intel
   637 		os=-nindy
   638 		;;
   639 	mon960)
   640 		basic_machine=i960-intel
   641 		os=-mon960
   642 		;;
   643 	np1)
   644 		basic_machine=np1-gould
   645 		;;
   646 	nsr-tandem)
   647 		basic_machine=nsr-tandem
   648 		;;
   649 	op50n-* | op60c-*)
   650 		basic_machine=hppa1.1-oki
   651 		os=-proelf
   652 		;;
   653 	OSE68000 | ose68000)
   654 		basic_machine=m68000-ericsson
   655 		os=-ose
   656 		;;
   657 	os68k)
   658 		basic_machine=m68k-none
   659 		os=-os68k
   660 		;;
   661 	pa-hitachi)
   662 		basic_machine=hppa1.1-hitachi
   663 		os=-hiuxwe2
   664 		;;
   665 	paragon)
   666 		basic_machine=i860-intel
   667 		os=-osf
   668 		;;
   669 	pbd)
   670 		basic_machine=sparc-tti
   671 		;;
   672 	pbb)
   673 		basic_machine=m68k-tti
   674 		;;
   675         pc532 | pc532-*)
   676 		basic_machine=ns32k-pc532
   677 		;;
   678 	pentium | p5 | k5 | k6 | nexen)
   679 		basic_machine=i586-pc
   680 		;;
   681 	pentiumpro | p6 | 6x86 | athlon)
   682 		basic_machine=i686-pc
   683 		;;
   684 	pentiumii | pentium2)
   685 		basic_machine=i786-pc
   686 		;;
   687 	pentium-* | p5-* | k5-* | k6-* | nexen-*)
   688 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
   689 		;;
   690 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
   691 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   692 		;;
   693 	pentiumii-* | pentium2-*)
   694 		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
   695 		;;
   696 	pn)
   697 		basic_machine=pn-gould
   698 		;;
   699 	power)	basic_machine=rs6000-ibm
   700 		;;
   701 	ppc)	basic_machine=powerpc-unknown
   702 	        ;;
   703 	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
   704 		;;
   705 	ppcle | powerpclittle | ppc-le | powerpc-little)
   706 		basic_machine=powerpcle-unknown
   707 	        ;;
   708 	ppcle-* | powerpclittle-*)
   709 		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
   710 		;;
   711 	ps2)
   712 		basic_machine=i386-ibm
   713 		;;
   714 	rom68k)
   715 		basic_machine=m68k-rom68k
   716 		os=-coff
   717 		;;
   718 	rm[46]00)
   719 		basic_machine=mips-siemens
   720 		;;
   721 	rtpc | rtpc-*)
   722 		basic_machine=romp-ibm
   723 		;;
   724 	sa29200)
   725 		basic_machine=a29k-amd
   726 		os=-udi
   727 		;;
   728 	sequent)
   729 		basic_machine=i386-sequent
   730 		;;
   731 	sh)
   732 		basic_machine=sh-hitachi
   733 		os=-hms
   734 		;;
   735 	sparclite-wrs)
   736 		basic_machine=sparclite-wrs
   737 		os=-vxworks
   738 		;;
   739 	sps7)
   740 		basic_machine=m68k-bull
   741 		os=-sysv2
   742 		;;
   743 	spur)
   744 		basic_machine=spur-unknown
   745 		;;
   746 	st2000)
   747 		basic_machine=m68k-tandem
   748 		;;
   749 	stratus)
   750 		basic_machine=i860-stratus
   751 		os=-sysv4
   752 		;;
   753 	sun2)
   754 		basic_machine=m68000-sun
   755 		;;
   756 	sun2os3)
   757 		basic_machine=m68000-sun
   758 		os=-sunos3
   759 		;;
   760 	sun2os4)
   761 		basic_machine=m68000-sun
   762 		os=-sunos4
   763 		;;
   764 	sun3os3)
   765 		basic_machine=m68k-sun
   766 		os=-sunos3
   767 		;;
   768 	sun3os4)
   769 		basic_machine=m68k-sun
   770 		os=-sunos4
   771 		;;
   772 	sun4os3)
   773 		basic_machine=sparc-sun
   774 		os=-sunos3
   775 		;;
   776 	sun4os4)
   777 		basic_machine=sparc-sun
   778 		os=-sunos4
   779 		;;
   780 	sun4sol2)
   781 		basic_machine=sparc-sun
   782 		os=-solaris2
   783 		;;
   784 	sun3 | sun3-*)
   785 		basic_machine=m68k-sun
   786 		;;
   787 	sun4)
   788 		basic_machine=sparc-sun
   789 		;;
   790 	sun386 | sun386i | roadrunner)
   791 		basic_machine=i386-sun
   792 		;;
   793 	sv1)
   794 		basic_machine=sv1-cray
   795 		os=-unicos
   796 		;;
   797 	symmetry)
   798 		basic_machine=i386-sequent
   799 		os=-dynix
   800 		;;
   801 	t3e)
   802 		basic_machine=t3e-cray
   803 		os=-unicos
   804 		;;
   805 	tic54x | c54x*)
   806 		basic_machine=tic54x-unknown
   807 		os=-coff
   808 		;;
   809 	tx39)
   810 		basic_machine=mipstx39-unknown
   811 		;;
   812 	tx39el)
   813 		basic_machine=mipstx39el-unknown
   814 		;;
   815 	tower | tower-32)
   816 		basic_machine=m68k-ncr
   817 		;;
   818 	udi29k)
   819 		basic_machine=a29k-amd
   820 		os=-udi
   821 		;;
   822 	ultra3)
   823 		basic_machine=a29k-nyu
   824 		os=-sym1
   825 		;;
   826 	v810 | necv810)
   827 		basic_machine=v810-nec
   828 		os=-none
   829 		;;
   830 	vaxv)
   831 		basic_machine=vax-dec
   832 		os=-sysv
   833 		;;
   834 	vms)
   835 		basic_machine=vax-dec
   836 		os=-vms
   837 		;;
   838 	vpp*|vx|vx-*)
   839                basic_machine=f301-fujitsu
   840                ;;
   841 	vxworks960)
   842 		basic_machine=i960-wrs
   843 		os=-vxworks
   844 		;;
   845 	vxworks68)
   846 		basic_machine=m68k-wrs
   847 		os=-vxworks
   848 		;;
   849 	vxworks29k)
   850 		basic_machine=a29k-wrs
   851 		os=-vxworks
   852 		;;
   853 	w65*)
   854 		basic_machine=w65-wdc
   855 		os=-none
   856 		;;
   857 	w89k-*)
   858 		basic_machine=hppa1.1-winbond
   859 		os=-proelf
   860 		;;
   861 	xmp)
   862 		basic_machine=xmp-cray
   863 		os=-unicos
   864 		;;
   865         xps | xps100)
   866 		basic_machine=xps100-honeywell
   867 		;;
   868 	z8k-*-coff)
   869 		basic_machine=z8k-unknown
   870 		os=-sim
   871 		;;
   872 	none)
   873 		basic_machine=none-none
   874 		os=-none
   875 		;;
   876 
   877 # Here we handle the default manufacturer of certain CPU types.  It is in
   878 # some cases the only manufacturer, in others, it is the most popular.
   879 	w89k)
   880 		basic_machine=hppa1.1-winbond
   881 		;;
   882 	op50n)
   883 		basic_machine=hppa1.1-oki
   884 		;;
   885 	op60c)
   886 		basic_machine=hppa1.1-oki
   887 		;;
   888 	mips)
   889 		if [ x$os = x-linux-gnu ]; then
   890 			basic_machine=mips-unknown
   891 		else
   892 			basic_machine=mips-mips
   893 		fi
   894 		;;
   895 	romp)
   896 		basic_machine=romp-ibm
   897 		;;
   898 	rs6000)
   899 		basic_machine=rs6000-ibm
   900 		;;
   901 	vax)
   902 		basic_machine=vax-dec
   903 		;;
   904 	pdp11)
   905 		basic_machine=pdp11-dec
   906 		;;
   907 	we32k)
   908 		basic_machine=we32k-att
   909 		;;
   910 	sh3 | sh4)
   911 		base_machine=sh-unknown
   912 		;;
   913 	sparc | sparcv9)
   914 		basic_machine=sparc-sun
   915 		;;
   916         cydra)
   917 		basic_machine=cydra-cydrome
   918 		;;
   919 	orion)
   920 		basic_machine=orion-highlevel
   921 		;;
   922 	orion105)
   923 		basic_machine=clipper-highlevel
   924 		;;
   925 	mac | mpw | mac-mpw)
   926 		basic_machine=m68k-apple
   927 		;;
   928 	pmac | pmac-mpw)
   929 		basic_machine=powerpc-apple
   930 		;;
   931 	c4x*)
   932 		basic_machine=c4x-none
   933 		os=-coff
   934 		;;
   935 	*)
   936 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
   937 		exit 1
   938 		;;
   939 esac
   940 
   941 # Here we canonicalize certain aliases for manufacturers.
   942 case $basic_machine in
   943 	*-digital*)
   944 		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
   945 		;;
   946 	*-commodore*)
   947 		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
   948 		;;
   949 	*)
   950 		;;
   951 esac
   952 
   953 # Decode manufacturer-specific aliases for certain operating systems.
   954 
   955 if [ x"$os" != x"" ]
   956 then
   957 case $os in
   958         # First match some system type aliases
   959         # that might get confused with valid system types.
   960 	# -solaris* is a basic system type, with this one exception.
   961 	-solaris1 | -solaris1.*)
   962 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
   963 		;;
   964 	-solaris)
   965 		os=-solaris2
   966 		;;
   967 	-svr4*)
   968 		os=-sysv4
   969 		;;
   970 	-unixware*)
   971 		os=-sysv4.2uw
   972 		;;
   973 	-gnu/linux*)
   974 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
   975 		;;
   976 	# First accept the basic system types.
   977 	# The portable systems comes first.
   978 	# Each alternative MUST END IN A *, to match a version number.
   979 	# -sysv* is not here because it comes later, after sysvr4.
   980 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
   981 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
   982 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
   983 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
   984 	      | -aos* \
   985 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
   986 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
   987 	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
   988 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
   989 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
   990 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
   991 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
   992 	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
   993 	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
   994 	      | -openstep* | -oskit* | -conix* | -pw32*)
   995 	# Remember, each alternative MUST END IN *, to match a version number.
   996 		;;
   997 	-qnx*)
   998 		case $basic_machine in
   999 		    x86-* | i[34567]86-*)
  1000 			;;
  1001 		    *)
  1002 			os=-nto$os
  1003 			;;
  1004 		esac
  1005 		;;
  1006 	-nto*)
  1007 		os=-nto-qnx
  1008 		;;
  1009 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
  1010 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
  1011 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  1012 		;;
  1013 	-mac*)
  1014 		os=`echo $os | sed -e 's|mac|macos|'`
  1015 		;;
  1016 	-linux*)
  1017 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
  1018 		;;
  1019 	-sunos5*)
  1020 		os=`echo $os | sed -e 's|sunos5|solaris2|'`
  1021 		;;
  1022 	-sunos6*)
  1023 		os=`echo $os | sed -e 's|sunos6|solaris3|'`
  1024 		;;
  1025 	-opened*)
  1026 		os=-openedition
  1027 		;;
  1028 	-wince*)
  1029 		os=-wince
  1030 		;;
  1031 	-osfrose*)
  1032 		os=-osfrose
  1033 		;;
  1034 	-osf*)
  1035 		os=-osf
  1036 		;;
  1037 	-utek*)
  1038 		os=-bsd
  1039 		;;
  1040 	-dynix*)
  1041 		os=-bsd
  1042 		;;
  1043 	-acis*)
  1044 		os=-aos
  1045 		;;
  1046 	-386bsd)
  1047 		os=-bsd
  1048 		;;
  1049 	-ctix* | -uts*)
  1050 		os=-sysv
  1051 		;;
  1052 	-ns2 )
  1053 	        os=-nextstep2
  1054 		;;
  1055 	-nsk*)
  1056 		os=-nsk
  1057 		;;
  1058 	# Preserve the version number of sinix5.
  1059 	-sinix5.*)
  1060 		os=`echo $os | sed -e 's|sinix|sysv|'`
  1061 		;;
  1062 	-sinix*)
  1063 		os=-sysv4
  1064 		;;
  1065 	-triton*)
  1066 		os=-sysv3
  1067 		;;
  1068 	-oss*)
  1069 		os=-sysv3
  1070 		;;
  1071 	-svr4)
  1072 		os=-sysv4
  1073 		;;
  1074 	-svr3)
  1075 		os=-sysv3
  1076 		;;
  1077 	-sysvr4)
  1078 		os=-sysv4
  1079 		;;
  1080 	# This must come after -sysvr4.
  1081 	-sysv*)
  1082 		;;
  1083 	-ose*)
  1084 		os=-ose
  1085 		;;
  1086 	-es1800*)
  1087 		os=-ose
  1088 		;;
  1089 	-xenix)
  1090 		os=-xenix
  1091 		;;
  1092         -*mint | -*MiNT)
  1093 	        os=-mint
  1094 		;;
  1095 	-none)
  1096 		;;
  1097 	*)
  1098 		# Get rid of the `-' at the beginning of $os.
  1099 		os=`echo $os | sed 's/[^-]*-//'`
  1100 		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  1101 		exit 1
  1102 		;;
  1103 esac
  1104 else
  1105 
  1106 # Here we handle the default operating systems that come with various machines.
  1107 # The value should be what the vendor currently ships out the door with their
  1108 # machine or put another way, the most popular os provided with the machine.
  1109 
  1110 # Note that if you're going to try to match "-MANUFACTURER" here (say,
  1111 # "-sun"), then you have to tell the case statement up towards the top
  1112 # that MANUFACTURER isn't an operating system.  Otherwise, code above
  1113 # will signal an error saying that MANUFACTURER isn't an operating
  1114 # system, and we'll never get to this point.
  1115 
  1116 case $basic_machine in
  1117 	*-acorn)
  1118 		os=-riscix1.2
  1119 		;;
  1120 	arm*-rebel)
  1121 		os=-linux
  1122 		;;
  1123 	arm*-semi)
  1124 		os=-aout
  1125 		;;
  1126         pdp11-*)
  1127 		os=-none
  1128 		;;
  1129 	*-dec | vax-*)
  1130 		os=-ultrix4.2
  1131 		;;
  1132 	m68*-apollo)
  1133 		os=-domain
  1134 		;;
  1135 	i386-sun)
  1136 		os=-sunos4.0.2
  1137 		;;
  1138 	m68000-sun)
  1139 		os=-sunos3
  1140 		# This also exists in the configure program, but was not the
  1141 		# default.
  1142 		# os=-sunos4
  1143 		;;
  1144 	m68*-cisco)
  1145 		os=-aout
  1146 		;;
  1147 	mips*-cisco)
  1148 		os=-elf
  1149 		;;
  1150 	mips*-*)
  1151 		os=-elf
  1152 		;;
  1153 	*-tti)	# must be before sparc entry or we get the wrong os.
  1154 		os=-sysv3
  1155 		;;
  1156 	sparc-* | *-sun)
  1157 		os=-sunos4.1.1
  1158 		;;
  1159 	*-be)
  1160 		os=-beos
  1161 		;;
  1162 	*-ibm)
  1163 		os=-aix
  1164 		;;
  1165 	*-wec)
  1166 		os=-proelf
  1167 		;;
  1168 	*-winbond)
  1169 		os=-proelf
  1170 		;;
  1171 	*-oki)
  1172 		os=-proelf
  1173 		;;
  1174 	*-hp)
  1175 		os=-hpux
  1176 		;;
  1177 	*-hitachi)
  1178 		os=-hiux
  1179 		;;
  1180 	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
  1181 		os=-sysv
  1182 		;;
  1183 	*-cbm)
  1184 		os=-amigaos
  1185 		;;
  1186 	*-dg)
  1187 		os=-dgux
  1188 		;;
  1189 	*-dolphin)
  1190 		os=-sysv3
  1191 		;;
  1192 	m68k-ccur)
  1193 		os=-rtu
  1194 		;;
  1195 	m88k-omron*)
  1196 		os=-luna
  1197 		;;
  1198 	*-next )
  1199 		os=-nextstep
  1200 		;;
  1201 	*-sequent)
  1202 		os=-ptx
  1203 		;;
  1204 	*-crds)
  1205 		os=-unos
  1206 		;;
  1207 	*-ns)
  1208 		os=-genix
  1209 		;;
  1210 	i370-*)
  1211 		os=-mvs
  1212 		;;
  1213 	*-next)
  1214 		os=-nextstep3
  1215 		;;
  1216         *-gould)
  1217 		os=-sysv
  1218 		;;
  1219         *-highlevel)
  1220 		os=-bsd
  1221 		;;
  1222 	*-encore)
  1223 		os=-bsd
  1224 		;;
  1225         *-sgi)
  1226 		os=-irix
  1227 		;;
  1228         *-siemens)
  1229 		os=-sysv4
  1230 		;;
  1231 	*-masscomp)
  1232 		os=-rtu
  1233 		;;
  1234 	f301-fujitsu)
  1235 		os=-uxpv
  1236 		;;
  1237 	*-rom68k)
  1238 		os=-coff
  1239 		;;
  1240 	*-*bug)
  1241 		os=-coff
  1242 		;;
  1243 	*-apple)
  1244 		os=-macos
  1245 		;;
  1246 	*-atari*)
  1247 		os=-mint
  1248 		;;
  1249 	*)
  1250 		os=-none
  1251 		;;
  1252 esac
  1253 fi
  1254 
  1255 # Here we handle the case where we know the os, and the CPU type, but not the
  1256 # manufacturer.  We pick the logical manufacturer.
  1257 vendor=unknown
  1258 case $basic_machine in
  1259 	*-unknown)
  1260 		case $os in
  1261 			-riscix*)
  1262 				vendor=acorn
  1263 				;;
  1264 			-sunos*)
  1265 				vendor=sun
  1266 				;;
  1267 			-aix*)
  1268 				vendor=ibm
  1269 				;;
  1270 			-beos*)
  1271 				vendor=be
  1272 				;;
  1273 			-hpux*)
  1274 				vendor=hp
  1275 				;;
  1276 			-mpeix*)
  1277 				vendor=hp
  1278 				;;
  1279 			-hiux*)
  1280 				vendor=hitachi
  1281 				;;
  1282 			-unos*)
  1283 				vendor=crds
  1284 				;;
  1285 			-dgux*)
  1286 				vendor=dg
  1287 				;;
  1288 			-luna*)
  1289 				vendor=omron
  1290 				;;
  1291 			-genix*)
  1292 				vendor=ns
  1293 				;;
  1294 			-mvs* | -opened*)
  1295 				vendor=ibm
  1296 				;;
  1297 			-ptx*)
  1298 				vendor=sequent
  1299 				;;
  1300 			-vxsim* | -vxworks*)
  1301 				vendor=wrs
  1302 				;;
  1303 			-aux*)
  1304 				vendor=apple
  1305 				;;
  1306 			-hms*)
  1307 				vendor=hitachi
  1308 				;;
  1309 			-mpw* | -macos*)
  1310 				vendor=apple
  1311 				;;
  1312 			-*mint | -*MiNT)
  1313 				vendor=atari
  1314 				;;
  1315 		esac
  1316 		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
  1317 		;;
  1318 esac
  1319 
  1320 echo $basic_machine$os
  1321 exit 0
  1322 
  1323 # Local variables:
  1324 # eval: (add-hook 'write-file-hooks 'time-stamp)
  1325 # time-stamp-start: "version='"
  1326 # time-stamp-format: "%:y-%02m-%02d"
  1327 # time-stamp-end: "'"
  1328 # End: