annotate config.sub @ 0:d39e1d0d75b6

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