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