Home | History | Annotate | Download | only in jpeg
      1 #! /bin/sh
      2 # Configuration validation subroutine script, version 1.1.
      3 #   Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
      4 # This file is (in principle) common to ALL GNU software.
      5 # The presence of a machine in this file suggests that SOME GNU software
      6 # can handle that machine.  It does not imply ALL GNU software can.
      7 #
      8 # This file is free software; you can redistribute it and/or modify
      9 # it under the terms of the GNU General Public License as published by
     10 # the Free Software Foundation; either version 2 of the License, or
     11 # (at your option) any later version.
     12 #
     13 # This program is distributed in the hope that it will be useful,
     14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16 # GNU General Public License for more details.
     17 #
     18 # You should have received a copy of the GNU General Public License
     19 # along with this program; if not, write to the Free Software
     20 # Foundation, Inc., 59 Temple Place - Suite 330,
     21 # Boston, MA 02111-1307, USA.
     22 
     23 # As a special exception to the GNU General Public License, if you
     24 # distribute this file as part of a program that contains a
     25 # configuration script generated by Autoconf, you may include it under
     26 # the same distribution terms that you use for the rest of that program.
     27 
     28 # Configuration subroutine to validate and canonicalize a configuration type.
     29 # Supply the specified configuration type as an argument.
     30 # If it is invalid, we print an error message on stderr and exit with code 1.
     31 # Otherwise, we print the canonical config type on stdout and succeed.
     32 
     33 # This file is supposed to be the same for all GNU packages
     34 # and recognize all the CPU types, system types and aliases
     35 # that are meaningful with *any* GNU software.
     36 # Each package is responsible for reporting which valid configurations
     37 # it does not support.  The user should be able to distinguish
     38 # a failure to support a valid configuration from a meaningless
     39 # configuration.
     40 
     41 # The goal of this file is to map all the various variations of a given
     42 # machine specification into a single specification in the form:
     43 #	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
     44 # or in some cases, the newer four-part form:
     45 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
     46 # It is wrong to echo any other type of specification.
     47 
     48 if [ x$1 = x ]
     49 then
     50 	echo Configuration name missing. 1>&2
     51 	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
     52 	echo "or     $0 ALIAS" 1>&2
     53 	echo where ALIAS is a recognized configuration type. 1>&2
     54 	exit 1
     55 fi
     56 
     57 # First pass through any local machine types.
     58 case $1 in
     59 	*local*)
     60 		echo $1
     61 		exit 0
     62 		;;
     63 	*)
     64 	;;
     65 esac
     66 
     67 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
     68 # Here we must recognize all the valid KERNEL-OS combinations.
     69 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
     70 case $maybe_os in
     71   linux-gnu*)
     72     os=-$maybe_os
     73     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     74     ;;
     75   *)
     76     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     77     if [ $basic_machine != $1 ]
     78     then os=`echo $1 | sed 's/.*-/-/'`
     79     else os=; fi
     80     ;;
     81 esac
     82 
     83 ### Let's recognize common machines as not being operating systems so
     84 ### that things like config.sub decstation-3100 work.  We also
     85 ### recognize some manufacturers as not being operating systems, so we
     86 ### can provide default operating systems below.
     87 case $os in
     88 	-sun*os*)
     89 		# Prevent following clause from handling this invalid input.
     90 		;;
     91 	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
     92 	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
     93 	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
     94 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
     95 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
     96 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
     97 	-apple)
     98 		os=
     99 		basic_machine=$1
    100 		;;
    101 	-hiux*)
    102 		os=-hiuxwe2
    103 		;;
    104 	-sco5)
    105 		os=sco3.2v5
    106 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    107 		;;
    108 	-sco4)
    109 		os=-sco3.2v4
    110 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    111 		;;
    112 	-sco3.2.[4-9]*)
    113 		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
    114 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    115 		;;
    116 	-sco3.2v[4-9]*)
    117 		# Don't forget version if it is 3.2v4 or newer.
    118 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    119 		;;
    120 	-sco*)
    121 		os=-sco3.2v2
    122 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    123 		;;
    124 	-isc)
    125 		os=-isc2.2
    126 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    127 		;;
    128 	-clix*)
    129 		basic_machine=clipper-intergraph
    130 		;;
    131 	-isc*)
    132 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    133 		;;
    134 	-lynx*)
    135 		os=-lynxos
    136 		;;
    137 	-ptx*)
    138 		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
    139 		;;
    140 	-windowsnt*)
    141 		os=`echo $os | sed -e 's/windowsnt/winnt/'`
    142 		;;
    143 	-psos*)
    144 		os=-psos
    145 		;;
    146 esac
    147 
    148 # Decode aliases for certain CPU-COMPANY combinations.
    149 case $basic_machine in
    150 	# Recognize the basic CPU types without company name.
    151 	# Some are omitted here because they have special meanings below.
    152 	tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
    153 		| arme[lb] | pyramid | mn10200 | mn10300 \
    154 		| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
    155 		| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
    156 		| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
    157 		| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
    158 		| mipstx39 | mipstx39el \
    159 		| sparc | sparclet | sparclite | sparc64 | v850)
    160 		basic_machine=$basic_machine-unknown
    161 		;;
    162 	# We use `pc' rather than `unknown'
    163 	# because (1) that's what they normally are, and
    164 	# (2) the word "unknown" tends to confuse beginning users.
    165 	i[3456]86)
    166 	  basic_machine=$basic_machine-pc
    167 	  ;;
    168 	# Object if more than one company name word.
    169 	*-*-*)
    170 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
    171 		exit 1
    172 		;;
    173 	# Recognize the basic CPU types with company name.
    174 	vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
    175 	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
    176 	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
    177 	      | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
    178 	      | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
    179 	      | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
    180 	      | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
    181 	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
    182 	      | sparc64-* | mips64-* | mipsel-* \
    183 	      | mips64el-* | mips64orion-* | mips64orionel-*  \
    184 	      | mipstx39-* | mipstx39el-* \
    185 	      | f301-*)
    186 		;;
    187 	# Recognize the various machine names and aliases which stand
    188 	# for a CPU type and a company and sometimes even an OS.
    189 	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
    190 		basic_machine=m68000-att
    191 		;;
    192 	3b*)
    193 		basic_machine=we32k-att
    194 		;;
    195 	alliant | fx80)
    196 		basic_machine=fx80-alliant
    197 		;;
    198 	altos | altos3068)
    199 		basic_machine=m68k-altos
    200 		;;
    201 	am29k)
    202 		basic_machine=a29k-none
    203 		os=-bsd
    204 		;;
    205 	amdahl)
    206 		basic_machine=580-amdahl
    207 		os=-sysv
    208 		;;
    209 	amiga | amiga-*)
    210 		basic_machine=m68k-cbm
    211 		;;
    212 	amigaos | amigados)
    213 		basic_machine=m68k-cbm
    214 		os=-amigaos
    215 		;;
    216 	amigaunix | amix)
    217 		basic_machine=m68k-cbm
    218 		os=-sysv4
    219 		;;
    220 	apollo68)
    221 		basic_machine=m68k-apollo
    222 		os=-sysv
    223 		;;
    224 	aux)
    225 		basic_machine=m68k-apple
    226 		os=-aux
    227 		;;
    228 	balance)
    229 		basic_machine=ns32k-sequent
    230 		os=-dynix
    231 		;;
    232 	convex-c1)
    233 		basic_machine=c1-convex
    234 		os=-bsd
    235 		;;
    236 	convex-c2)
    237 		basic_machine=c2-convex
    238 		os=-bsd
    239 		;;
    240 	convex-c32)
    241 		basic_machine=c32-convex
    242 		os=-bsd
    243 		;;
    244 	convex-c34)
    245 		basic_machine=c34-convex
    246 		os=-bsd
    247 		;;
    248 	convex-c38)
    249 		basic_machine=c38-convex
    250 		os=-bsd
    251 		;;
    252 	cray | ymp)
    253 		basic_machine=ymp-cray
    254 		os=-unicos
    255 		;;
    256 	cray2)
    257 		basic_machine=cray2-cray
    258 		os=-unicos
    259 		;;
    260 	[ctj]90-cray)
    261 		basic_machine=c90-cray
    262 		os=-unicos
    263 		;;
    264 	crds | unos)
    265 		basic_machine=m68k-crds
    266 		;;
    267 	da30 | da30-*)
    268 		basic_machine=m68k-da30
    269 		;;
    270 	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
    271 		basic_machine=mips-dec
    272 		;;
    273 	delta | 3300 | motorola-3300 | motorola-delta \
    274 	      | 3300-motorola | delta-motorola)
    275 		basic_machine=m68k-motorola
    276 		;;
    277 	delta88)
    278 		basic_machine=m88k-motorola
    279 		os=-sysv3
    280 		;;
    281 	dpx20 | dpx20-*)
    282 		basic_machine=rs6000-bull
    283 		os=-bosx
    284 		;;
    285 	dpx2* | dpx2*-bull)
    286 		basic_machine=m68k-bull
    287 		os=-sysv3
    288 		;;
    289 	ebmon29k)
    290 		basic_machine=a29k-amd
    291 		os=-ebmon
    292 		;;
    293 	elxsi)
    294 		basic_machine=elxsi-elxsi
    295 		os=-bsd
    296 		;;
    297 	encore | umax | mmax)
    298 		basic_machine=ns32k-encore
    299 		;;
    300 	fx2800)
    301 		basic_machine=i860-alliant
    302 		;;
    303 	genix)
    304 		basic_machine=ns32k-ns
    305 		;;
    306 	gmicro)
    307 		basic_machine=tron-gmicro
    308 		os=-sysv
    309 		;;
    310 	h3050r* | hiux*)
    311 		basic_machine=hppa1.1-hitachi
    312 		os=-hiuxwe2
    313 		;;
    314 	h8300hms)
    315 		basic_machine=h8300-hitachi
    316 		os=-hms
    317 		;;
    318 	harris)
    319 		basic_machine=m88k-harris
    320 		os=-sysv3
    321 		;;
    322 	hp300-*)
    323 		basic_machine=m68k-hp
    324 		;;
    325 	hp300bsd)
    326 		basic_machine=m68k-hp
    327 		os=-bsd
    328 		;;
    329 	hp300hpux)
    330 		basic_machine=m68k-hp
    331 		os=-hpux
    332 		;;
    333 	hp9k2[0-9][0-9] | hp9k31[0-9])
    334 		basic_machine=m68000-hp
    335 		;;
    336 	hp9k3[2-9][0-9])
    337 		basic_machine=m68k-hp
    338 		;;
    339 	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
    340 		basic_machine=hppa1.1-hp
    341 		;;
    342 	hp9k8[0-9][0-9] | hp8[0-9][0-9])
    343 		basic_machine=hppa1.0-hp
    344 		;;
    345 	hppa-next)
    346 		os=-nextstep3
    347 		;;
    348 	i370-ibm* | ibm*)
    349 		basic_machine=i370-ibm
    350 		os=-mvs
    351 		;;
    352 # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
    353 	i[3456]86v32)
    354 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    355 		os=-sysv32
    356 		;;
    357 	i[3456]86v4*)
    358 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    359 		os=-sysv4
    360 		;;
    361 	i[3456]86v)
    362 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    363 		os=-sysv
    364 		;;
    365 	i[3456]86sol2)
    366 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    367 		os=-solaris2
    368 		;;
    369 	iris | iris4d)
    370 		basic_machine=mips-sgi
    371 		case $os in
    372 		    -irix*)
    373 			;;
    374 		    *)
    375 			os=-irix4
    376 			;;
    377 		esac
    378 		;;
    379 	isi68 | isi)
    380 		basic_machine=m68k-isi
    381 		os=-sysv
    382 		;;
    383 	m88k-omron*)
    384 		basic_machine=m88k-omron
    385 		;;
    386 	magnum | m3230)
    387 		basic_machine=mips-mips
    388 		os=-sysv
    389 		;;
    390 	merlin)
    391 		basic_machine=ns32k-utek
    392 		os=-sysv
    393 		;;
    394 	miniframe)
    395 		basic_machine=m68000-convergent
    396 		;;
    397 	mipsel*-linux*)
    398 		basic_machine=mipsel-unknown
    399 		os=-linux-gnu
    400 		;;
    401 	mips*-linux*)
    402 		basic_machine=mips-unknown
    403 		os=-linux-gnu
    404 		;;
    405 	mips3*-*)
    406 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
    407 		;;
    408 	mips3*)
    409 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
    410 		;;
    411 	ncr3000)
    412 		basic_machine=i486-ncr
    413 		os=-sysv4
    414 		;;
    415 	news | news700 | news800 | news900)
    416 		basic_machine=m68k-sony
    417 		os=-newsos
    418 		;;
    419 	news1000)
    420 		basic_machine=m68030-sony
    421 		os=-newsos
    422 		;;
    423 	news-3600 | risc-news)
    424 		basic_machine=mips-sony
    425 		os=-newsos
    426 		;;
    427 	next | m*-next )
    428 		basic_machine=m68k-next
    429 		case $os in
    430 		    -nextstep* )
    431 			;;
    432 		    -ns2*)
    433 		      os=-nextstep2
    434 			;;
    435 		    *)
    436 		      os=-nextstep3
    437 			;;
    438 		esac
    439 		;;
    440 	nh3000)
    441 		basic_machine=m68k-harris
    442 		os=-cxux
    443 		;;
    444 	nh[45]000)
    445 		basic_machine=m88k-harris
    446 		os=-cxux
    447 		;;
    448 	nindy960)
    449 		basic_machine=i960-intel
    450 		os=-nindy
    451 		;;
    452 	np1)
    453 		basic_machine=np1-gould
    454 		;;
    455 	pa-hitachi)
    456 		basic_machine=hppa1.1-hitachi
    457 		os=-hiuxwe2
    458 		;;
    459 	paragon)
    460 		basic_machine=i860-intel
    461 		os=-osf
    462 		;;
    463 	pbd)
    464 		basic_machine=sparc-tti
    465 		;;
    466 	pbb)
    467 		basic_machine=m68k-tti
    468 		;;
    469         pc532 | pc532-*)
    470 		basic_machine=ns32k-pc532
    471 		;;
    472 	pentium | p5)
    473 		basic_machine=i586-intel
    474 		;;
    475 	pentiumpro | p6)
    476 		basic_machine=i686-intel
    477 		;;
    478 	pentium-* | p5-*)
    479 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
    480 		;;
    481 	pentiumpro-* | p6-*)
    482 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
    483 		;;
    484 	k5)
    485 		# We don't have specific support for AMD's K5 yet, so just call it a Pentium
    486 		basic_machine=i586-amd
    487 		;;
    488 	nexen)
    489 		# We don't have specific support for Nexgen yet, so just call it a Pentium
    490 		basic_machine=i586-nexgen
    491 		;;
    492 	pn)
    493 		basic_machine=pn-gould
    494 		;;
    495 	power)	basic_machine=rs6000-ibm
    496 		;;
    497 	ppc)	basic_machine=powerpc-unknown
    498 	        ;;
    499 	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
    500 		;;
    501 	ppcle | powerpclittle | ppc-le | powerpc-little)
    502 		basic_machine=powerpcle-unknown
    503 	        ;;
    504 	ppcle-* | powerpclittle-*)
    505 		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
    506 		;;
    507 	ps2)
    508 		basic_machine=i386-ibm
    509 		;;
    510 	rm[46]00)
    511 		basic_machine=mips-siemens
    512 		;;
    513 	rtpc | rtpc-*)
    514 		basic_machine=romp-ibm
    515 		;;
    516 	sequent)
    517 		basic_machine=i386-sequent
    518 		;;
    519 	sh)
    520 		basic_machine=sh-hitachi
    521 		os=-hms
    522 		;;
    523 	sps7)
    524 		basic_machine=m68k-bull
    525 		os=-sysv2
    526 		;;
    527 	spur)
    528 		basic_machine=spur-unknown
    529 		;;
    530 	sun2)
    531 		basic_machine=m68000-sun
    532 		;;
    533 	sun2os3)
    534 		basic_machine=m68000-sun
    535 		os=-sunos3
    536 		;;
    537 	sun2os4)
    538 		basic_machine=m68000-sun
    539 		os=-sunos4
    540 		;;
    541 	sun3os3)
    542 		basic_machine=m68k-sun
    543 		os=-sunos3
    544 		;;
    545 	sun3os4)
    546 		basic_machine=m68k-sun
    547 		os=-sunos4
    548 		;;
    549 	sun4os3)
    550 		basic_machine=sparc-sun
    551 		os=-sunos3
    552 		;;
    553 	sun4os4)
    554 		basic_machine=sparc-sun
    555 		os=-sunos4
    556 		;;
    557 	sun4sol2)
    558 		basic_machine=sparc-sun
    559 		os=-solaris2
    560 		;;
    561 	sun3 | sun3-*)
    562 		basic_machine=m68k-sun
    563 		;;
    564 	sun4)
    565 		basic_machine=sparc-sun
    566 		;;
    567 	sun386 | sun386i | roadrunner)
    568 		basic_machine=i386-sun
    569 		;;
    570 	symmetry)
    571 		basic_machine=i386-sequent
    572 		os=-dynix
    573 		;;
    574 	tx39)
    575 		basic_machine=mipstx39-unknown
    576 		;;
    577 	tx39el)
    578 		basic_machine=mipstx39el-unknown
    579 		;;
    580 	tower | tower-32)
    581 		basic_machine=m68k-ncr
    582 		;;
    583 	udi29k)
    584 		basic_machine=a29k-amd
    585 		os=-udi
    586 		;;
    587 	ultra3)
    588 		basic_machine=a29k-nyu
    589 		os=-sym1
    590 		;;
    591 	vaxv)
    592 		basic_machine=vax-dec
    593 		os=-sysv
    594 		;;
    595 	vms)
    596 		basic_machine=vax-dec
    597 		os=-vms
    598 		;;
    599 	vpp*|vx|vx-*)
    600                basic_machine=f301-fujitsu
    601                ;;
    602 	vxworks960)
    603 		basic_machine=i960-wrs
    604 		os=-vxworks
    605 		;;
    606 	vxworks68)
    607 		basic_machine=m68k-wrs
    608 		os=-vxworks
    609 		;;
    610 	vxworks29k)
    611 		basic_machine=a29k-wrs
    612 		os=-vxworks
    613 		;;
    614 	xmp)
    615 		basic_machine=xmp-cray
    616 		os=-unicos
    617 		;;
    618         xps | xps100)
    619 		basic_machine=xps100-honeywell
    620 		;;
    621 	none)
    622 		basic_machine=none-none
    623 		os=-none
    624 		;;
    625 
    626 # Here we handle the default manufacturer of certain CPU types.  It is in
    627 # some cases the only manufacturer, in others, it is the most popular.
    628 	mips)
    629 		if [ x$os = x-linux-gnu ]; then
    630 			basic_machine=mips-unknown
    631 		else
    632 			basic_machine=mips-mips
    633 		fi
    634 		;;
    635 	romp)
    636 		basic_machine=romp-ibm
    637 		;;
    638 	rs6000)
    639 		basic_machine=rs6000-ibm
    640 		;;
    641 	vax)
    642 		basic_machine=vax-dec
    643 		;;
    644 	pdp11)
    645 		basic_machine=pdp11-dec
    646 		;;
    647 	we32k)
    648 		basic_machine=we32k-att
    649 		;;
    650 	sparc)
    651 		basic_machine=sparc-sun
    652 		;;
    653         cydra)
    654 		basic_machine=cydra-cydrome
    655 		;;
    656 	orion)
    657 		basic_machine=orion-highlevel
    658 		;;
    659 	orion105)
    660 		basic_machine=clipper-highlevel
    661 		;;
    662 	*)
    663 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
    664 		exit 1
    665 		;;
    666 esac
    667 
    668 # Here we canonicalize certain aliases for manufacturers.
    669 case $basic_machine in
    670 	*-digital*)
    671 		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
    672 		;;
    673 	*-commodore*)
    674 		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
    675 		;;
    676 	*)
    677 		;;
    678 esac
    679 
    680 # Decode manufacturer-specific aliases for certain operating systems.
    681 
    682 if [ x"$os" != x"" ]
    683 then
    684 case $os in
    685         # First match some system type aliases
    686         # that might get confused with valid system types.
    687 	# -solaris* is a basic system type, with this one exception.
    688 	-solaris1 | -solaris1.*)
    689 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
    690 		;;
    691 	-solaris)
    692 		os=-solaris2
    693 		;;
    694 	-svr4*)
    695 		os=-sysv4
    696 		;;
    697 	-unixware*)
    698 		os=-sysv4.2uw
    699 		;;
    700 	-gnu/linux*)
    701 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
    702 		;;
    703 	# First accept the basic system types.
    704 	# The portable systems comes first.
    705 	# Each alternative MUST END IN A *, to match a version number.
    706 	# -sysv* is not here because it comes later, after sysvr4.
    707 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
    708 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
    709 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
    710 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
    711 	      | -aos* \
    712 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
    713 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
    714 	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
    715 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
    716 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
    717 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
    718 	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
    719 	      | -mingw32* | -linux-gnu* | -uxpv*)
    720 	# Remember, each alternative MUST END IN *, to match a version number.
    721 		;;
    722 	-linux*)
    723 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
    724 		;;
    725 	-sunos5*)
    726 		os=`echo $os | sed -e 's|sunos5|solaris2|'`
    727 		;;
    728 	-sunos6*)
    729 		os=`echo $os | sed -e 's|sunos6|solaris3|'`
    730 		;;
    731 	-osfrose*)
    732 		os=-osfrose
    733 		;;
    734 	-osf*)
    735 		os=-osf
    736 		;;
    737 	-utek*)
    738 		os=-bsd
    739 		;;
    740 	-dynix*)
    741 		os=-bsd
    742 		;;
    743 	-acis*)
    744 		os=-aos
    745 		;;
    746 	-ctix* | -uts*)
    747 		os=-sysv
    748 		;;
    749 	-ns2 )
    750 	        os=-nextstep2
    751 		;;
    752 	# Preserve the version number of sinix5.
    753 	-sinix5.*)
    754 		os=`echo $os | sed -e 's|sinix|sysv|'`
    755 		;;
    756 	-sinix*)
    757 		os=-sysv4
    758 		;;
    759 	-triton*)
    760 		os=-sysv3
    761 		;;
    762 	-oss*)
    763 		os=-sysv3
    764 		;;
    765 	-svr4)
    766 		os=-sysv4
    767 		;;
    768 	-svr3)
    769 		os=-sysv3
    770 		;;
    771 	-sysvr4)
    772 		os=-sysv4
    773 		;;
    774 	# This must come after -sysvr4.
    775 	-sysv*)
    776 		;;
    777 	-xenix)
    778 		os=-xenix
    779 		;;
    780 	-none)
    781 		;;
    782 	*)
    783 		# Get rid of the `-' at the beginning of $os.
    784 		os=`echo $os | sed 's/[^-]*-//'`
    785 		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
    786 		exit 1
    787 		;;
    788 esac
    789 else
    790 
    791 # Here we handle the default operating systems that come with various machines.
    792 # The value should be what the vendor currently ships out the door with their
    793 # machine or put another way, the most popular os provided with the machine.
    794 
    795 # Note that if you're going to try to match "-MANUFACTURER" here (say,
    796 # "-sun"), then you have to tell the case statement up towards the top
    797 # that MANUFACTURER isn't an operating system.  Otherwise, code above
    798 # will signal an error saying that MANUFACTURER isn't an operating
    799 # system, and we'll never get to this point.
    800 
    801 case $basic_machine in
    802 	*-acorn)
    803 		os=-riscix1.2
    804 		;;
    805 	arm*-semi)
    806 		os=-aout
    807 		;;
    808         pdp11-*)
    809 		os=-none
    810 		;;
    811 	*-dec | vax-*)
    812 		os=-ultrix4.2
    813 		;;
    814 	m68*-apollo)
    815 		os=-domain
    816 		;;
    817 	i386-sun)
    818 		os=-sunos4.0.2
    819 		;;
    820 	m68000-sun)
    821 		os=-sunos3
    822 		# This also exists in the configure program, but was not the
    823 		# default.
    824 		# os=-sunos4
    825 		;;
    826 	*-tti)	# must be before sparc entry or we get the wrong os.
    827 		os=-sysv3
    828 		;;
    829 	sparc-* | *-sun)
    830 		os=-sunos4.1.1
    831 		;;
    832 	*-ibm)
    833 		os=-aix
    834 		;;
    835 	*-hp)
    836 		os=-hpux
    837 		;;
    838 	*-hitachi)
    839 		os=-hiux
    840 		;;
    841 	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
    842 		os=-sysv
    843 		;;
    844 	*-cbm)
    845 		os=-amigaos
    846 		;;
    847 	*-dg)
    848 		os=-dgux
    849 		;;
    850 	*-dolphin)
    851 		os=-sysv3
    852 		;;
    853 	m68k-ccur)
    854 		os=-rtu
    855 		;;
    856 	m88k-omron*)
    857 		os=-luna
    858 		;;
    859 	*-next )
    860 		os=-nextstep
    861 		;;
    862 	*-sequent)
    863 		os=-ptx
    864 		;;
    865 	*-crds)
    866 		os=-unos
    867 		;;
    868 	*-ns)
    869 		os=-genix
    870 		;;
    871 	i370-*)
    872 		os=-mvs
    873 		;;
    874 	*-next)
    875 		os=-nextstep3
    876 		;;
    877         *-gould)
    878 		os=-sysv
    879 		;;
    880         *-highlevel)
    881 		os=-bsd
    882 		;;
    883 	*-encore)
    884 		os=-bsd
    885 		;;
    886         *-sgi)
    887 		os=-irix
    888 		;;
    889         *-siemens)
    890 		os=-sysv4
    891 		;;
    892 	*-masscomp)
    893 		os=-rtu
    894 		;;
    895 	f301-fujitsu)
    896 		os=-uxpv
    897 		;;
    898 	*)
    899 		os=-none
    900 		;;
    901 esac
    902 fi
    903 
    904 # Here we handle the case where we know the os, and the CPU type, but not the
    905 # manufacturer.  We pick the logical manufacturer.
    906 vendor=unknown
    907 case $basic_machine in
    908 	*-unknown)
    909 		case $os in
    910 			-riscix*)
    911 				vendor=acorn
    912 				;;
    913 			-sunos*)
    914 				vendor=sun
    915 				;;
    916 			-aix*)
    917 				vendor=ibm
    918 				;;
    919 			-hpux*)
    920 				vendor=hp
    921 				;;
    922 			-hiux*)
    923 				vendor=hitachi
    924 				;;
    925 			-unos*)
    926 				vendor=crds
    927 				;;
    928 			-dgux*)
    929 				vendor=dg
    930 				;;
    931 			-luna*)
    932 				vendor=omron
    933 				;;
    934 			-genix*)
    935 				vendor=ns
    936 				;;
    937 			-mvs*)
    938 				vendor=ibm
    939 				;;
    940 			-ptx*)
    941 				vendor=sequent
    942 				;;
    943 			-vxsim* | -vxworks*)
    944 				vendor=wrs
    945 				;;
    946 			-aux*)
    947 				vendor=apple
    948 				;;
    949 		esac
    950 		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
    951 		;;
    952 esac
    953 
    954 echo $basic_machine$os
    955