config.sub revision 127664
1280849Scy#! /bin/sh 2132451Sroberto# Configuration validation subroutine script. 354359Sroberto# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4182007Sroberto# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 5200576Sroberto 6200576Srobertotimestamp='2003-11-03' 754359Sroberto 854359Sroberto# This file is (in principle) common to ALL GNU software. 954359Sroberto# The presence of a machine in this file suggests that SOME GNU software 1054359Sroberto# can handle that machine. It does not imply ALL GNU software can. 1154359Sroberto# 1254359Sroberto# This file is free software; you can redistribute it and/or modify 1354359Sroberto# it under the terms of the GNU General Public License as published by 1454359Sroberto# the Free Software Foundation; either version 2 of the License, or 1554359Sroberto# (at your option) any later version. 16106163Sroberto# 17106163Sroberto# This program is distributed in the hope that it will be useful, 18280849Scy# but WITHOUT ANY WARRANTY; without even the implied warranty of 19280849Scy# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20280849Scy# GNU General Public License for more details. 21280849Scy# 22280849Scy# You should have received a copy of the GNU General Public License 2354359Sroberto# along with this program; if not, write to the Free Software 2454359Sroberto# Foundation, Inc., 59 Temple Place - Suite 330, 25200576Sroberto# Boston, MA 02111-1307, USA. 2654359Sroberto 27200576Sroberto# As a special exception to the GNU General Public License, if you 28132451Sroberto# distribute this file as part of a program that contains a 29132451Sroberto# configuration script generated by Autoconf, you may include it under 30132451Sroberto# the same distribution terms that you use for the rest of that program. 31132451Sroberto 3282498Sroberto# Please send patches to <config-patches@gnu.org>. Submit a context 33132451Sroberto# diff and a properly formatted ChangeLog entry. 3454359Sroberto# 3554359Sroberto# Configuration subroutine to validate and canonicalize a configuration type. 3654359Sroberto# Supply the specified configuration type as an argument. 3754359Sroberto# If it is invalid, we print an error message on stderr and exit with code 1. 3854359Sroberto# Otherwise, we print the canonical config type on stdout and succeed. 3954359Sroberto 4054359Sroberto# This file is supposed to be the same for all GNU packages 4154359Sroberto# and recognize all the CPU types, system types and aliases 42182007Sroberto# that are meaningful with *any* GNU software. 43182007Sroberto# Each package is responsible for reporting which valid configurations 44280849Scy# it does not support. The user should be able to distinguish 45280849Scy# a failure to support a valid configuration from a meaningless 46280849Scy# configuration. 47280849Scy 48280849Scy# The goal of this file is to map all the various variations of a given 49280849Scy# machine specification into a single specification in the form: 50280849Scy# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 51182007Sroberto# or in some cases, the newer four-part form: 52182007Sroberto# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 53280849Scy# It is wrong to echo any other type of specification. 54280849Scy 55282408Scyme=`echo "$0" | sed -e 's,.*/,,'` 56280849Scy 57280849Scyusage="\ 58280849ScyUsage: $0 [OPTION] CPU-MFR-OPSYS 59280849Scy $0 [OPTION] ALIAS 60280849Scy 61280849ScyCanonicalize a configuration name. 62280849Scy 63280849ScyOperation modes: 64280849Scy -h, --help print this help, then exit 65280849Scy -t, --time-stamp print date of last modification, then exit 66280849Scy -v, --version print version number, then exit 67280849Scy 68280849ScyReport bugs and patches to <config-patches@gnu.org>." 69280849Scy 70280849Scyversion="\ 71280849ScyGNU config.sub ($timestamp) 72280849Scy 73280849ScyCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 74280849ScyFree Software Foundation, Inc. 75280849Scy 76280849ScyThis is free software; see the source for copying conditions. There is NO 77280849Scywarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 78280849Scy 79280849Scyhelp=" 80280849ScyTry \`$me --help' for more information." 81280849Scy 82280849Scy# Parse command line 83280849Scywhile test $# -gt 0 ; do 84282408Scy case $1 in 85282408Scy --time-stamp | --time* | -t ) 86280849Scy echo "$timestamp" ; exit 0 ;; 87280849Scy --version | -v ) 88280849Scy echo "$version" ; exit 0 ;; 89182007Sroberto --help | --h* | -h ) 90182007Sroberto echo "$usage"; exit 0 ;; 91182007Sroberto -- ) # Stop option processing 92182007Sroberto shift; break ;; 93182007Sroberto - ) # Use stdin as input. 94200576Sroberto break ;; 95280849Scy -* ) 96280849Scy echo "$me: invalid option $1$help" 97280849Scy exit 1 ;; 98280849Scy 99182007Sroberto *local*) 100280849Scy # First pass through any local machine types. 101182007Sroberto echo $1 102280849Scy exit 0;; 103280849Scy 104280849Scy * ) 105280849Scy break ;; 106280849Scy esac 107280849Scydone 108182007Sroberto 109280849Scycase $# in 110182007Sroberto 0) echo "$me: missing argument$help" >&2 111280849Scy exit 1;; 112280849Scy 1) ;; 113182007Sroberto *) echo "$me: too many arguments$help" >&2 114280849Scy exit 1;; 115182007Srobertoesac 116280849Scy 117280849Scy# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 118280849Scy# Here we must recognize all the valid KERNEL-OS combinations. 119182007Srobertomaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 120182007Srobertocase $maybe_os in 121182007Sroberto nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ 122280849Scy kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) 123182007Sroberto os=-$maybe_os 124280849Scy basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125280849Scy ;; 126182007Sroberto *) 127280849Scy basic_machine=`echo $1 | sed 's/-[^-]*$//'` 128182007Sroberto if [ $basic_machine != $1 ] 129280849Scy then os=`echo $1 | sed 's/.*-/-/'` 130280849Scy else os=; fi 131280849Scy ;; 132182007Srobertoesac 133280849Scy 134280849Scy### Let's recognize common machines as not being operating systems so 135280849Scy### that things like config.sub decstation-3100 work. We also 136280849Scy### recognize some manufacturers as not being operating systems, so we 137182007Sroberto### can provide default operating systems below. 138280849Scycase $os in 139182007Sroberto -sun*os*) 140280849Scy # Prevent following clause from handling this invalid input. 141280849Scy ;; 142182007Sroberto -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 143280849Scy -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 144182007Sroberto -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 145280849Scy -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 146280849Scy -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 147182007Sroberto -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 148280849Scy -apple | -axis) 149182007Sroberto os= 150280849Scy basic_machine=$1 151280849Scy ;; 152182007Sroberto -sim | -cisco | -oki | -wec | -winbond) 153280849Scy os= 154182007Sroberto basic_machine=$1 155280849Scy ;; 156280849Scy -scout) 157182007Sroberto ;; 158280849Scy -wrs) 159182007Sroberto os=-vxworks 160280849Scy basic_machine=$1 161280849Scy ;; 162182007Sroberto -chorusos*) 163280849Scy os=-chorusos 164182007Sroberto basic_machine=$1 165280849Scy ;; 166280849Scy -chorusrdb) 167280849Scy os=-chorusrdb 168280849Scy basic_machine=$1 169280849Scy ;; 170280849Scy -hiux*) 171182007Sroberto os=-hiuxwe2 172280849Scy ;; 173280849Scy -sco5) 174280849Scy os=-sco3.2v5 175280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 176182007Sroberto ;; 177280849Scy -sco4) 178182007Sroberto os=-sco3.2v4 179280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 180280849Scy ;; 181200576Sroberto -sco3.2.[4-9]*) 182280849Scy os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 183182007Sroberto basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 184200576Sroberto ;; 185182007Sroberto -sco3.2v[4-9]*) 186182007Sroberto # Don't forget version if it is 3.2v4 or newer. 187280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188280849Scy ;; 189280849Scy -sco*) 190280849Scy os=-sco3.2v2 191280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192280849Scy ;; 193280849Scy -udk*) 194280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195280849Scy ;; 196280849Scy -isc) 197182007Sroberto os=-isc2.2 198280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199280849Scy ;; 200280849Scy -clix*) 201280849Scy basic_machine=clipper-intergraph 202280849Scy ;; 203280849Scy -isc*) 204280849Scy basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 205280849Scy ;; 206280849Scy -lynx*) 207182007Sroberto os=-lynxos 208182007Sroberto ;; 209280849Scy -ptx*) 210182007Sroberto basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 211182007Sroberto ;; 212280849Scy -windowsnt*) 213200576Sroberto os=`echo $os | sed -e 's/windowsnt/winnt/'` 214200576Sroberto ;; 215200576Sroberto -psos*) 216200576Sroberto os=-psos 217200576Sroberto ;; 218200576Sroberto -mint | -mint[0-9]*) 219200576Sroberto basic_machine=m68k-atari 220200576Sroberto os=-mint 221200576Sroberto ;; 222200576Srobertoesac 223200576Sroberto 224200576Sroberto# Decode aliases for certain CPU-COMPANY combinations. 225200576Srobertocase $basic_machine in 226200576Sroberto # Recognize the basic CPU types without company name. 227200576Sroberto # Some are omitted here because they have special meanings below. 228200576Sroberto 1750a | 580 \ 229200576Sroberto | a29k \ 230200576Sroberto | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 231200576Sroberto | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 232200576Sroberto | am33_2.0 \ 233200576Sroberto | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ 234182007Sroberto | c4x | clipper \ 235280849Scy | d10v | d30v | dlx | dsp16xx \ 236182007Sroberto | fr30 | frv \ 237280849Scy | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 238280849Scy | i370 | i860 | i960 | ia64 \ 239182007Sroberto | ip2k | iq2000 \ 240182007Sroberto | m32r | m68000 | m68k | m88k | mcore \ 241182007Sroberto | mips | mipsbe | mipseb | mipsel | mipsle \ 242132451Sroberto | mips16 \ 243280849Scy | mips64 | mips64el \ 24454359Sroberto | mips64vr | mips64vrel \ 245280849Scy | mips64orion | mips64orionel \ 246182007Sroberto | mips64vr4100 | mips64vr4100el \ 247132451Sroberto | mips64vr4300 | mips64vr4300el \ 248132451Sroberto | mips64vr5000 | mips64vr5000el \ 249132451Sroberto | mipsisa32 | mipsisa32el \ 25054359Sroberto | mipsisa32r2 | mipsisa32r2el \ 251280849Scy | mipsisa64 | mipsisa64el \ 252280849Scy | mipsisa64r2 | mipsisa64r2el \ 253280849Scy | mipsisa64sb1 | mipsisa64sb1el \ 254280849Scy | mipsisa64sr71k | mipsisa64sr71kel \ 255280849Scy | mipstx39 | mipstx39el \ 25654359Sroberto | mn10200 | mn10300 \ 257132451Sroberto | msp430 \ 25854359Sroberto | ns16k | ns32k \ 259280849Scy | openrisc | or32 \ 26054359Sroberto | pdp10 | pdp11 | pj | pjl \ 261280849Scy | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 26254359Sroberto | pyramid \ 263132451Sroberto | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ 264280849Scy | sh64 | sh64le \ 265280849Scy | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ 266280849Scy | strongarm \ 267280849Scy | tahoe | thumb | tic4x | tic80 | tron \ 268280849Scy | v850 | v850e \ 269280849Scy | we32k \ 270132451Sroberto | x86 | xscale | xstormy16 | xtensa \ 27154359Sroberto | z8k) 272132451Sroberto basic_machine=$basic_machine-unknown 27356746Sroberto ;; 274280849Scy m6811 | m68hc11 | m6812 | m68hc12) 275280849Scy # Motorola 68HC11/12. 276280849Scy basic_machine=$basic_machine-unknown 277132451Sroberto os=-none 278132451Sroberto ;; 279132451Sroberto m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 280280849Scy ;; 281132451Sroberto 282106163Sroberto # We use `pc' rather than `unknown' 283280849Scy # because (1) that's what they normally are, and 284200576Sroberto # (2) the word "unknown" tends to confuse beginning users. 285280849Scy i*86 | x86_64) 286280849Scy basic_machine=$basic_machine-pc 287280849Scy ;; 288280849Scy # Object if more than one company name word. 289280849Scy *-*-*) 290200576Sroberto echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 291280849Scy exit 1 292280849Scy ;; 293200576Sroberto # Recognize the basic CPU types with company name. 294132451Sroberto 580-* \ 295132451Sroberto | a29k-* \ 296132451Sroberto | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 29782498Sroberto | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 298280849Scy | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 299280849Scy | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 300280849Scy | avr-* \ 301280849Scy | bs2000-* \ 302280849Scy | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 303280849Scy | clipper-* | cydra-* \ 30454359Sroberto | d10v-* | d30v-* | dlx-* \ 305280849Scy | elxsi-* \ 306280849Scy | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ 307280849Scy | h8300-* | h8500-* \ 308132451Sroberto | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 309182007Sroberto | i*86-* | i860-* | i960-* | ia64-* \ 310182007Sroberto | ip2k-* | iq2000-* \ 311182007Sroberto | m32r-* \ 31254359Sroberto | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 313132451Sroberto | m88110-* | m88k-* | mcore-* \ 314182007Sroberto | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 315280849Scy | mips16-* \ 316280849Scy | mips64-* | mips64el-* \ 31754359Sroberto | mips64vr-* | mips64vrel-* \ 318200576Sroberto | mips64orion-* | mips64orionel-* \ 319132451Sroberto | mips64vr4100-* | mips64vr4100el-* \ 320132451Sroberto | mips64vr4300-* | mips64vr4300el-* \ 32154359Sroberto | mips64vr5000-* | mips64vr5000el-* \ 322182007Sroberto | mipsisa32-* | mipsisa32el-* \ 32354359Sroberto | mipsisa32r2-* | mipsisa32r2el-* \ 324132451Sroberto | mipsisa64-* | mipsisa64el-* \ 32554359Sroberto | mipsisa64r2-* | mipsisa64r2el-* \ 32654359Sroberto | mipsisa64sb1-* | mipsisa64sb1el-* \ 327132451Sroberto | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 328280849Scy | mipstx39-* | mipstx39el-* \ 32954359Sroberto | msp430-* \ 33054359Sroberto | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ 33154359Sroberto | orion-* \ 33282498Sroberto | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 333280849Scy | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 334280849Scy | pyramid-* \ 335200576Sroberto | romp-* | rs6000-* \ 336280849Scy | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ 337280849Scy | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 338280849Scy | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ 339280849Scy | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ 340280849Scy | tahoe-* | thumb-* \ 341280849Scy | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 342280849Scy | tron-* \ 343280849Scy | v850-* | v850e-* | vax-* \ 344280849Scy | we32k-* \ 345280849Scy | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ 346280849Scy | xtensa-* \ 347280849Scy | ymp-* \ 348280849Scy | z8k-*) 349280849Scy ;; 350280849Scy # Recognize the various machine names and aliases which stand 351280849Scy # for a CPU type and a company and sometimes even an OS. 352280849Scy 386bsd) 353280849Scy basic_machine=i386-unknown 354280849Scy os=-bsd 355280849Scy ;; 356280849Scy 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 357280849Scy basic_machine=m68000-att 358280849Scy ;; 359280849Scy 3b*) 360280849Scy basic_machine=we32k-att 361280849Scy ;; 362280849Scy a29khif) 363280849Scy basic_machine=a29k-amd 364280849Scy os=-udi 365280849Scy ;; 366280849Scy adobe68k) 367280849Scy basic_machine=m68010-adobe 368280849Scy os=-scout 369280849Scy ;; 370280849Scy alliant | fx80) 371280849Scy basic_machine=fx80-alliant 372280849Scy ;; 373280849Scy altos | altos3068) 374280849Scy basic_machine=m68k-altos 375280849Scy ;; 376280849Scy am29k) 377280849Scy basic_machine=a29k-none 378280849Scy os=-bsd 379280849Scy ;; 380280849Scy amd64) 381280849Scy basic_machine=x86_64-pc 382280849Scy ;; 383280849Scy amdahl) 384280849Scy basic_machine=580-amdahl 385280849Scy os=-sysv 386280849Scy ;; 387280849Scy amiga | amiga-*) 388280849Scy basic_machine=m68k-unknown 389280849Scy ;; 390280849Scy amigaos | amigados) 391280849Scy basic_machine=m68k-unknown 392280849Scy os=-amigaos 393280849Scy ;; 394280849Scy amigaunix | amix) 395106163Sroberto basic_machine=m68k-unknown 396280849Scy os=-sysv4 397280849Scy ;; 39854359Sroberto apollo68) 399132451Sroberto basic_machine=m68k-apollo 400132451Sroberto os=-sysv 401132451Sroberto ;; 402132451Sroberto apollo68bsd) 403200576Sroberto basic_machine=m68k-apollo 404132451Sroberto os=-bsd 405280849Scy ;; 40682498Sroberto aux) 407132451Sroberto basic_machine=m68k-apple 408280849Scy os=-aux 409280849Scy ;; 410280849Scy balance) 411280849Scy basic_machine=ns32k-sequent 41254359Sroberto os=-dynix 413280849Scy ;; 41454359Sroberto c90) 415280849Scy basic_machine=c90-cray 416132451Sroberto os=-unicos 417132451Sroberto ;; 418280849Scy convex-c1) 419280849Scy basic_machine=c1-convex 420280849Scy os=-bsd 421280849Scy ;; 422280849Scy convex-c2) 423280849Scy basic_machine=c2-convex 424280849Scy os=-bsd 425280849Scy ;; 426280849Scy convex-c32) 427280849Scy basic_machine=c32-convex 428132451Sroberto os=-bsd 42954359Sroberto ;; 430280849Scy convex-c34) 431280849Scy basic_machine=c34-convex 432280849Scy os=-bsd 433280849Scy ;; 434280849Scy convex-c38) 435280849Scy basic_machine=c38-convex 436280849Scy os=-bsd 437280849Scy ;; 438280849Scy cray | j90) 439280849Scy basic_machine=j90-cray 440282408Scy os=-unicos 441282408Scy ;; 442282408Scy crds | unos) 443282408Scy basic_machine=m68k-crds 444282408Scy ;; 44554359Sroberto cris | cris-* | etrax*) 446280849Scy basic_machine=cris-axis 447280849Scy ;; 448280849Scy da30 | da30-*) 449200576Sroberto basic_machine=m68k-da30 450200576Sroberto ;; 451200576Sroberto decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 452200576Sroberto basic_machine=mips-dec 453280849Scy ;; 454132451Sroberto decsystem10* | dec10*) 455280849Scy basic_machine=pdp10-dec 456280849Scy os=-tops10 457106163Sroberto ;; 458132451Sroberto decsystem20* | dec20*) 459106163Sroberto basic_machine=pdp10-dec 460182007Sroberto os=-tops20 461182007Sroberto ;; 462132451Sroberto delta | 3300 | motorola-3300 | motorola-delta \ 463132451Sroberto | 3300-motorola | delta-motorola) 464132451Sroberto basic_machine=m68k-motorola 465132451Sroberto ;; 466132451Sroberto delta88) 467132451Sroberto basic_machine=m88k-motorola 468200576Sroberto os=-sysv3 469132451Sroberto ;; 470200576Sroberto dpx20 | dpx20-*) 471200576Sroberto basic_machine=rs6000-bull 472200576Sroberto os=-bosx 473132451Sroberto ;; 474132451Sroberto dpx2* | dpx2*-bull) 475132451Sroberto basic_machine=m68k-bull 476132451Sroberto os=-sysv3 477132451Sroberto ;; 478132451Sroberto ebmon29k) 479200576Sroberto basic_machine=a29k-amd 480132451Sroberto os=-ebmon 481132451Sroberto ;; 48256746Sroberto elxsi) 483132451Sroberto basic_machine=elxsi-elxsi 484132451Sroberto os=-bsd 485200576Sroberto ;; 486132451Sroberto encore | umax | mmax) 487132451Sroberto basic_machine=ns32k-encore 488182007Sroberto ;; 489132451Sroberto es1800 | OSE68k | ose68k | ose | OSE) 490200576Sroberto basic_machine=m68k-ericsson 491132451Sroberto os=-ose 492132451Sroberto ;; 493200576Sroberto fx2800) 494132451Sroberto basic_machine=i860-alliant 495132451Sroberto ;; 496200576Sroberto genix) 497132451Sroberto basic_machine=ns32k-ns 498132451Sroberto ;; 499132451Sroberto gmicro) 500200576Sroberto basic_machine=tron-gmicro 501200576Sroberto os=-sysv 502200576Sroberto ;; 503280849Scy go32) 504280849Scy basic_machine=i386-pc 505280849Scy os=-go32 506280849Scy ;; 507280849Scy h3050r* | hiux*) 508280849Scy basic_machine=hppa1.1-hitachi 509280849Scy os=-hiuxwe2 51054359Sroberto ;; 51154359Sroberto h8300hms) 512280849Scy basic_machine=h8300-hitachi 513280849Scy os=-hms 514280849Scy ;; 515280849Scy h8300xray) 516280849Scy basic_machine=h8300-hitachi 517182007Sroberto os=-xray 518280849Scy ;; 519280849Scy h8500hms) 520280849Scy basic_machine=h8500-hitachi 521280849Scy os=-hms 522280849Scy ;; 523280849Scy harris) 524280849Scy basic_machine=m88k-harris 525280849Scy os=-sysv3 526280849Scy ;; 527280849Scy hp300-*) 528280849Scy basic_machine=m68k-hp 529280849Scy ;; 530280849Scy hp300bsd) 53154359Sroberto basic_machine=m68k-hp 532280849Scy os=-bsd 533280849Scy ;; 534280849Scy hp300hpux) 535280849Scy basic_machine=m68k-hp 536280849Scy os=-hpux 537280849Scy ;; 538280849Scy hp3k9[0-9][0-9] | hp9[0-9][0-9]) 539106163Sroberto basic_machine=hppa1.0-hp 540280849Scy ;; 541280849Scy hp9k2[0-9][0-9] | hp9k31[0-9]) 542280849Scy basic_machine=m68000-hp 543280849Scy ;; 544280849Scy hp9k3[2-9][0-9]) 545280849Scy basic_machine=m68k-hp 546280849Scy ;; 547280849Scy hp9k6[0-9][0-9] | hp6[0-9][0-9]) 548280849Scy basic_machine=hppa1.0-hp 549280849Scy ;; 550280849Scy hp9k7[0-79][0-9] | hp7[0-79][0-9]) 551280849Scy basic_machine=hppa1.1-hp 552280849Scy ;; 553280849Scy hp9k78[0-9] | hp78[0-9]) 554280849Scy # FIXME: really hppa2.0-hp 555280849Scy basic_machine=hppa1.1-hp 556280849Scy ;; 557280849Scy hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 558280849Scy # FIXME: really hppa2.0-hp 559280849Scy basic_machine=hppa1.1-hp 560280849Scy ;; 561280849Scy hp9k8[0-9][13679] | hp8[0-9][13679]) 562280849Scy basic_machine=hppa1.1-hp 563282408Scy ;; 564182007Sroberto hp9k8[0-9][0-9] | hp8[0-9][0-9]) 565280849Scy basic_machine=hppa1.0-hp 566280849Scy ;; 567280849Scy hppa-next) 568182007Sroberto os=-nextstep3 569182007Sroberto ;; 57054359Sroberto hppaosf) 57154359Sroberto basic_machine=hppa1.1-hp 572182007Sroberto os=-osf 573280849Scy ;; 574182007Sroberto hppro) 575182007Sroberto basic_machine=hppa1.1-hp 576182007Sroberto os=-proelf 577200576Sroberto ;; 578200576Sroberto i370-ibm* | ibm*) 579182007Sroberto basic_machine=i370-ibm 580182007Sroberto ;; 581182007Sroberto# I'm not sure what "Sysv32" means. Should this be sysv3.2? 582200576Sroberto i*86v32) 583200576Sroberto basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 584200576Sroberto os=-sysv32 585182007Sroberto ;; 586182007Sroberto i*86v4*) 587182007Sroberto basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 588182007Sroberto os=-sysv4 589182007Sroberto ;; 590182007Sroberto i*86v) 591182007Sroberto basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 592182007Sroberto os=-sysv 593182007Sroberto ;; 594182007Sroberto i*86sol2) 595182007Sroberto basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 596182007Sroberto os=-solaris2 597182007Sroberto ;; 598182007Sroberto i386mach) 599182007Sroberto basic_machine=i386-mach 600182007Sroberto os=-mach 601182007Sroberto ;; 602200576Sroberto i386-vsta | vsta) 60354359Sroberto basic_machine=i386-unknown 60454359Sroberto os=-vsta 605200576Sroberto ;; 606200576Sroberto iris | iris4d) 607200576Sroberto basic_machine=mips-sgi 608200576Sroberto case $os in 609200576Sroberto -irix*) 610200576Sroberto ;; 611200576Sroberto *) 612200576Sroberto os=-irix4 613200576Sroberto ;; 614200576Sroberto esac 615200576Sroberto ;; 616200576Sroberto isi68 | isi) 617200576Sroberto basic_machine=m68k-isi 618200576Sroberto os=-sysv 619200576Sroberto ;; 620200576Sroberto m88k-omron*) 621200576Sroberto basic_machine=m88k-omron 622200576Sroberto ;; 623200576Sroberto magnum | m3230) 624200576Sroberto basic_machine=mips-mips 625200576Sroberto os=-sysv 626200576Sroberto ;; 62754359Sroberto merlin) 62854359Sroberto basic_machine=ns32k-utek 62954359Sroberto os=-sysv 630200576Sroberto ;; 631200576Sroberto mingw32) 632200576Sroberto basic_machine=i386-pc 633200576Sroberto os=-mingw32 634200576Sroberto ;; 635200576Sroberto miniframe) 636200576Sroberto basic_machine=m68000-convergent 63754359Sroberto ;; 63882498Sroberto *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 639200576Sroberto basic_machine=m68k-atari 640200576Sroberto os=-mint 641200576Sroberto ;; 642200576Sroberto mips3*-*) 643200576Sroberto basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 644200576Sroberto ;; 645200576Sroberto mips3*) 646280849Scy basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 647280849Scy ;; 648280849Scy mmix*) 649280849Scy basic_machine=mmix-knuth 650280849Scy os=-mmixware 651280849Scy ;; 652280849Scy monitor) 653280849Scy basic_machine=m68k-rom68k 654280849Scy os=-coff 655280849Scy ;; 656280849Scy morphos) 657280849Scy basic_machine=powerpc-unknown 658280849Scy os=-morphos 659280849Scy ;; 660280849Scy msdos) 661280849Scy basic_machine=i386-pc 662280849Scy os=-msdos 663280849Scy ;; 664280849Scy mvs) 665280849Scy basic_machine=i370-ibm 666280849Scy os=-mvs 667280849Scy ;; 668280849Scy ncr3000) 669280849Scy basic_machine=i486-ncr 670280849Scy os=-sysv4 671280849Scy ;; 672280849Scy netbsd386) 673280849Scy basic_machine=i386-unknown 674280849Scy os=-netbsd 675280849Scy ;; 676280849Scy netwinder) 677280849Scy basic_machine=armv4l-rebel 678280849Scy os=-linux 679280849Scy ;; 680280849Scy news | news700 | news800 | news900) 681280849Scy basic_machine=m68k-sony 682280849Scy os=-newsos 683280849Scy ;; 684280849Scy news1000) 685280849Scy basic_machine=m68030-sony 686280849Scy os=-newsos 687280849Scy ;; 688280849Scy news-3600 | risc-news) 689280849Scy basic_machine=mips-sony 690280849Scy os=-newsos 691280849Scy ;; 692280849Scy necv70) 693280849Scy basic_machine=v70-nec 694280849Scy os=-sysv 695280849Scy ;; 696280849Scy next | m*-next ) 697280849Scy basic_machine=m68k-next 698280849Scy case $os in 699280849Scy -nextstep* ) 700280849Scy ;; 701280849Scy -ns2*) 702280849Scy os=-nextstep2 703280849Scy ;; 704280849Scy *) 705280849Scy os=-nextstep3 706280849Scy ;; 707280849Scy esac 708280849Scy ;; 709280849Scy nh3000) 710280849Scy basic_machine=m68k-harris 711280849Scy os=-cxux 712280849Scy ;; 713280849Scy nh[45]000) 714280849Scy basic_machine=m88k-harris 715280849Scy os=-cxux 716280849Scy ;; 717280849Scy nindy960) 718280849Scy basic_machine=i960-intel 719280849Scy os=-nindy 720280849Scy ;; 721280849Scy mon960) 722280849Scy basic_machine=i960-intel 723280849Scy os=-mon960 724280849Scy ;; 725280849Scy nonstopux) 726280849Scy basic_machine=mips-compaq 727280849Scy os=-nonstopux 728280849Scy ;; 729280849Scy np1) 730280849Scy basic_machine=np1-gould 731280849Scy ;; 732132451Sroberto nv1) 733132451Sroberto basic_machine=nv1-cray 734280849Scy os=-unicosmp 735106163Sroberto ;; 736106163Sroberto nsr-tandem) 737280849Scy basic_machine=nsr-tandem 738106163Sroberto ;; 739106163Sroberto op50n-* | op60c-*) 740280849Scy basic_machine=hppa1.1-oki 741106163Sroberto os=-proelf 742106163Sroberto ;; 743280849Scy or32 | or32-*) 744106163Sroberto basic_machine=or32-unknown 745106163Sroberto os=-coff 746280849Scy ;; 747106163Sroberto os400) 748106163Sroberto basic_machine=powerpc-ibm 749280849Scy os=-os400 750132451Sroberto ;; 751132451Sroberto OSE68000 | ose68000) 752280849Scy basic_machine=m68000-ericsson 753106163Sroberto os=-ose 754106163Sroberto ;; 755280849Scy os68k) 756132451Sroberto basic_machine=m68k-none 757132451Sroberto os=-os68k 758280849Scy ;; 759106163Sroberto pa-hitachi) 760106163Sroberto basic_machine=hppa1.1-hitachi 761280849Scy os=-hiuxwe2 762106163Sroberto ;; 763106163Sroberto paragon) 764280849Scy basic_machine=i860-intel 765106163Sroberto os=-osf 766106163Sroberto ;; 767280849Scy pbd) 768182007Sroberto basic_machine=sparc-tti 769182007Sroberto ;; 770280849Scy pbb) 771280849Scy basic_machine=m68k-tti 772280849Scy ;; 773280849Scy pc532 | pc532-*) 774106163Sroberto basic_machine=ns32k-pc532 775106163Sroberto ;; 776280849Scy pentium | p5 | k5 | k6 | nexgen | viac3) 777106163Sroberto basic_machine=i586-pc 778106163Sroberto ;; 779280849Scy pentiumpro | p6 | 6x86 | athlon | athlon_*) 78082498Sroberto basic_machine=i686-pc 78154359Sroberto ;; 782182007Sroberto pentiumii | pentium2 | pentiumiii | pentium3) 78354359Sroberto basic_machine=i686-pc 78454359Sroberto ;; 78554359Sroberto pentium4) 78654359Sroberto basic_machine=i786-pc 787280849Scy ;; 788280849Scy pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 789280849Scy basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 790280849Scy ;; 791280849Scy pentiumpro-* | p6-* | 6x86-* | athlon-*) 792280849Scy basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 793280849Scy ;; 794280849Scy pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 795280849Scy basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 796280849Scy ;; 797280849Scy pentium4-*) 798280849Scy basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 799280849Scy ;; 800280849Scy pn) 801280849Scy basic_machine=pn-gould 802280849Scy ;; 803280849Scy power) basic_machine=power-ibm 80454359Sroberto ;; 805106163Sroberto ppc) basic_machine=powerpc-unknown 806280849Scy ;; 807280849Scy ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 808280849Scy ;; 809132451Sroberto ppcle | powerpclittle | ppc-le | powerpc-little) 810182007Sroberto basic_machine=powerpcle-unknown 811182007Sroberto ;; 81254359Sroberto ppcle-* | powerpclittle-*) 813106163Sroberto basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 814280849Scy ;; 815280849Scy ppc64) basic_machine=powerpc64-unknown 816280849Scy ;; 817132451Sroberto ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 818182007Sroberto ;; 819182007Sroberto ppc64le | powerpc64little | ppc64-le | powerpc64-little) 820182007Sroberto basic_machine=powerpc64le-unknown 821182007Sroberto ;; 822280849Scy ppc64le-* | powerpc64little-*) 823280849Scy basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 824280849Scy ;; 825182007Sroberto ps2) 826182007Sroberto basic_machine=i386-ibm 827182007Sroberto ;; 82854359Sroberto pw32) 829182007Sroberto basic_machine=i586-unknown 830182007Sroberto os=-pw32 831132451Sroberto ;; 832182007Sroberto rom68k) 833182007Sroberto basic_machine=m68k-rom68k 834280849Scy os=-coff 835182007Sroberto ;; 836200576Sroberto rm[46]00) 837280849Scy basic_machine=mips-siemens 838200576Sroberto ;; 839200576Sroberto rtpc | rtpc-*) 840200576Sroberto basic_machine=romp-ibm 841200576Sroberto ;; 842200576Sroberto s390 | s390-*) 843200576Sroberto basic_machine=s390-ibm 844200576Sroberto ;; 845200576Sroberto s390x | s390x-*) 846200576Sroberto basic_machine=s390x-ibm 847200576Sroberto ;; 848200576Sroberto sa29200) 849200576Sroberto basic_machine=a29k-amd 850200576Sroberto os=-udi 851200576Sroberto ;; 852200576Sroberto sb1) 853182007Sroberto basic_machine=mipsisa64sb1-unknown 854200576Sroberto ;; 855200576Sroberto sb1el) 856200576Sroberto basic_machine=mipsisa64sb1el-unknown 857200576Sroberto ;; 858200576Sroberto sei) 859200576Sroberto basic_machine=mips-sei 860200576Sroberto os=-seiux 861182007Sroberto ;; 862182007Sroberto sequent) 863280849Scy basic_machine=i386-sequent 864200576Sroberto ;; 865200576Sroberto sh) 866200576Sroberto basic_machine=sh-hitachi 867200576Sroberto os=-hms 868200576Sroberto ;; 869200576Sroberto sh64) 870200576Sroberto basic_machine=sh64-unknown 871200576Sroberto ;; 872280849Scy sparclite-wrs | simso-wrs) 873280849Scy basic_machine=sparclite-wrs 874280849Scy os=-vxworks 875280849Scy ;; 876280849Scy sps7) 877280849Scy basic_machine=m68k-bull 878280849Scy os=-sysv2 879280849Scy ;; 880280849Scy spur) 881280849Scy basic_machine=spur-unknown 882280849Scy ;; 883280849Scy st2000) 884280849Scy basic_machine=m68k-tandem 885280849Scy ;; 886280849Scy stratus) 887280849Scy basic_machine=i860-stratus 888280849Scy os=-sysv4 889280849Scy ;; 890280849Scy sun2) 891280849Scy basic_machine=m68000-sun 892280849Scy ;; 893280849Scy sun2os3) 894280849Scy basic_machine=m68000-sun 895280849Scy os=-sunos3 896280849Scy ;; 897280849Scy sun2os4) 89854359Sroberto basic_machine=m68000-sun 899280849Scy os=-sunos4 900280849Scy ;; 901280849Scy sun3os3) 902280849Scy basic_machine=m68k-sun 903280849Scy os=-sunos3 904280849Scy ;; 905280849Scy sun3os4) 906280849Scy basic_machine=m68k-sun 907280849Scy os=-sunos4 908280849Scy ;; 909280849Scy sun4os3) 910280849Scy basic_machine=sparc-sun 911280849Scy os=-sunos3 912280849Scy ;; 913280849Scy sun4os4) 914280849Scy basic_machine=sparc-sun 915280849Scy os=-sunos4 916280849Scy ;; 917280849Scy sun4sol2) 918280849Scy basic_machine=sparc-sun 919280849Scy os=-solaris2 920280849Scy ;; 921280849Scy sun3 | sun3-*) 922280849Scy basic_machine=m68k-sun 923280849Scy ;; 924280849Scy sun4) 925280849Scy basic_machine=sparc-sun 926280849Scy ;; 927280849Scy sun386 | sun386i | roadrunner) 928280849Scy basic_machine=i386-sun 929280849Scy ;; 930280849Scy sv1) 93156746Sroberto basic_machine=sv1-cray 932132451Sroberto os=-unicos 93356746Sroberto ;; 93456746Sroberto symmetry) 93556746Sroberto basic_machine=i386-sequent 936200576Sroberto os=-dynix 937200576Sroberto ;; 938132451Sroberto t3e) 939182007Sroberto basic_machine=alphaev5-cray 94054359Sroberto os=-unicos 941106163Sroberto ;; 94256746Sroberto t90) 943200576Sroberto basic_machine=t90-cray 94454359Sroberto os=-unicos 945132451Sroberto ;; 94656746Sroberto tic54x | c54x*) 94756746Sroberto basic_machine=tic54x-unknown 94856746Sroberto os=-coff 949200576Sroberto ;; 950200576Sroberto tic55x | c55x*) 951200576Sroberto basic_machine=tic55x-unknown 952200576Sroberto os=-coff 953182007Sroberto ;; 954200576Sroberto tic6x | c6x*) 955200576Sroberto basic_machine=tic6x-unknown 956200576Sroberto os=-coff 957200576Sroberto ;; 958200576Sroberto tx39) 959200576Sroberto basic_machine=mipstx39-unknown 960200576Sroberto ;; 961182007Sroberto tx39el) 962132451Sroberto basic_machine=mipstx39el-unknown 963132451Sroberto ;; 964132451Sroberto toad1) 965132451Sroberto basic_machine=pdp10-xkl 966132451Sroberto os=-tops20 967132451Sroberto ;; 968132451Sroberto tower | tower-32) 969200576Sroberto basic_machine=m68k-ncr 970200576Sroberto ;; 971200576Sroberto tpf) 972132451Sroberto basic_machine=s390x-ibm 973200576Sroberto os=-tpf 974132451Sroberto ;; 97582498Sroberto udi29k) 976132451Sroberto basic_machine=a29k-amd 977200576Sroberto os=-udi 978200576Sroberto ;; 97954359Sroberto ultra3) 98054359Sroberto basic_machine=a29k-nyu 981132451Sroberto os=-sym1 98282498Sroberto ;; 98382498Sroberto v810 | necv810) 984200576Sroberto basic_machine=v810-nec 985200576Sroberto os=-none 986200576Sroberto ;; 987200576Sroberto vaxv) 988200576Sroberto basic_machine=vax-dec 989200576Sroberto os=-sysv 990200576Sroberto ;; 991200576Sroberto vms) 992200576Sroberto basic_machine=vax-dec 993200576Sroberto os=-vms 994200576Sroberto ;; 995200576Sroberto vpp*|vx|vx-*) 996200576Sroberto basic_machine=f301-fujitsu 997200576Sroberto ;; 998200576Sroberto vxworks960) 999200576Sroberto basic_machine=i960-wrs 1000200576Sroberto os=-vxworks 1001200576Sroberto ;; 1002200576Sroberto vxworks68) 1003200576Sroberto basic_machine=m68k-wrs 1004200576Sroberto os=-vxworks 1005200576Sroberto ;; 1006200576Sroberto vxworks29k) 1007200576Sroberto basic_machine=a29k-wrs 1008200576Sroberto os=-vxworks 1009132451Sroberto ;; 101082498Sroberto w65*) 1011200576Sroberto basic_machine=w65-wdc 1012200576Sroberto os=-none 1013200576Sroberto ;; 1014200576Sroberto w89k-*) 1015132451Sroberto basic_machine=hppa1.1-winbond 1016200576Sroberto os=-proelf 1017200576Sroberto ;; 1018132451Sroberto xps | xps100) 1019200576Sroberto basic_machine=xps100-honeywell 102082498Sroberto ;; 1021200576Sroberto ymp) 1022200576Sroberto basic_machine=ymp-cray 102382498Sroberto os=-unicos 102482498Sroberto ;; 102582498Sroberto z8k-*-coff) 102654359Sroberto basic_machine=z8k-unknown 1027182007Sroberto os=-sim 1028182007Sroberto ;; 1029280849Scy none) 103082498Sroberto basic_machine=none-none 1031280849Scy os=-none 1032200576Sroberto ;; 1033182007Sroberto 1034182007Sroberto# Here we handle the default manufacturer of certain CPU types. It is in 1035182007Sroberto# some cases the only manufacturer, in others, it is the most popular. 103654359Sroberto w89k) 103754359Sroberto basic_machine=hppa1.1-winbond 103882498Sroberto ;; 103954359Sroberto op50n) 104054359Sroberto basic_machine=hppa1.1-oki 104154359Sroberto ;; 104282498Sroberto op60c) 104382498Sroberto basic_machine=hppa1.1-oki 104454359Sroberto ;; 104582498Sroberto romp) 1046182007Sroberto basic_machine=romp-ibm 1047106163Sroberto ;; 1048106163Sroberto rs6000) 104954359Sroberto basic_machine=rs6000-ibm 105054359Sroberto ;; 105154359Sroberto vax) 1052280849Scy basic_machine=vax-dec 105354359Sroberto ;; 105454359Sroberto pdp10) 1055182007Sroberto # there are many clones, so DEC is not a safe bet 1056200576Sroberto basic_machine=pdp10-unknown 1057280849Scy ;; 105854359Sroberto pdp11) 105954359Sroberto basic_machine=pdp11-dec 106082498Sroberto ;; 106182498Sroberto we32k) 1062182007Sroberto basic_machine=we32k-att 106382498Sroberto ;; 106454359Sroberto sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) 1065280849Scy basic_machine=sh-unknown 1066280849Scy ;; 106754359Sroberto sh64) 106882498Sroberto basic_machine=sh64-unknown 1069132451Sroberto ;; 1070132451Sroberto sparc | sparcv9 | sparcv9b) 1071132451Sroberto basic_machine=sparc-sun 1072200576Sroberto ;; 107354359Sroberto cydra) 1074106163Sroberto basic_machine=cydra-cydrome 107554359Sroberto ;; 107682498Sroberto orion) 107754359Sroberto basic_machine=orion-highlevel 1078182007Sroberto ;; 1079182007Sroberto orion105) 1080200576Sroberto basic_machine=clipper-highlevel 1081200576Sroberto ;; 1082106163Sroberto mac | mpw | mac-mpw) 108354359Sroberto basic_machine=m68k-apple 108482498Sroberto ;; 108582498Sroberto pmac | pmac-mpw) 1086280849Scy basic_machine=powerpc-apple 108782498Sroberto ;; 1088200576Sroberto *-unknown) 1089200576Sroberto # Make sure to match an already-canonicalized machine name. 1090200576Sroberto ;; 1091200576Sroberto *) 1092280849Scy echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1093280849Scy exit 1 1094280849Scy ;; 1095280849Scyesac 1096200576Sroberto 1097200576Sroberto# Here we canonicalize certain aliases for manufacturers. 1098200576Srobertocase $basic_machine in 1099200576Sroberto *-digital*) 1100106163Sroberto basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 110182498Sroberto ;; 1102200576Sroberto *-commodore*) 1103200576Sroberto basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1104280849Scy ;; 110582498Sroberto *) 1106200576Sroberto ;; 1107200576Srobertoesac 1108200576Sroberto 1109200576Sroberto# Decode manufacturer-specific aliases for certain operating systems. 1110200576Sroberto 1111200576Srobertoif [ x"$os" != x"" ] 1112200576Srobertothen 1113200576Srobertocase $os in 111482498Sroberto # First match some system type aliases 111582498Sroberto # that might get confused with valid system types. 111654359Sroberto # -solaris* is a basic system type, with this one exception. 1117132451Sroberto -solaris1 | -solaris1.*) 1118132451Sroberto os=`echo $os | sed -e 's|solaris1|sunos4|'` 111982498Sroberto ;; 112054359Sroberto -solaris) 112182498Sroberto os=-solaris2 112254359Sroberto ;; 1123280849Scy -svr4*) 1124182007Sroberto os=-sysv4 112582498Sroberto ;; 1126132451Sroberto -unixware*) 1127132451Sroberto os=-sysv4.2uw 1128132451Sroberto ;; 1129132451Sroberto -gnu/linux*) 1130132451Sroberto os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1131132451Sroberto ;; 1132132451Sroberto # First accept the basic system types. 1133132451Sroberto # The portable systems comes first. 1134280849Scy # Each alternative MUST END IN A *, to match a version number. 1135280849Scy # -sysv* is not here because it comes later, after sysvr4. 113682498Sroberto -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1137280849Scy | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 1138182007Sroberto | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 1139280849Scy | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1140200576Sroberto | -aos* \ 1141132451Sroberto | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1142280849Scy | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1143280849Scy | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ 1144280849Scy | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1145280849Scy | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1146280849Scy | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1147280849Scy | -chorusos* | -chorusrdb* \ 1148280849Scy | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1149280849Scy | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ 1150280849Scy | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1151280849Scy | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1152182007Sroberto | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1153106163Sroberto | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1154280849Scy | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1155280849Scy | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) 1156280849Scy # Remember, each alternative MUST END IN *, to match a version number. 1157280849Scy ;; 115882498Sroberto -qnx*) 115982498Sroberto case $basic_machine in 1160182007Sroberto x86-* | i*86-*) 1161280849Scy ;; 1162280849Scy *) 1163182007Sroberto os=-nto$os 1164182007Sroberto ;; 1165182007Sroberto esac 1166280849Scy ;; 1167182007Sroberto -nto-qnx*) 1168280849Scy ;; 1169280849Scy -nto*) 1170182007Sroberto os=`echo $os | sed -e 's|nto|nto-qnx|'` 1171280849Scy ;; 1172280849Scy -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1173280849Scy | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ 117454359Sroberto | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1175280849Scy ;; 1176280849Scy -mac*) 1177280849Scy os=`echo $os | sed -e 's|mac|macos|'` 1178280849Scy ;; 1179280849Scy -linux-dietlibc) 1180280849Scy os=-linux-dietlibc 1181280849Scy ;; 1182280849Scy -linux*) 1183280849Scy os=`echo $os | sed -e 's|linux|linux-gnu|'` 1184280849Scy ;; 1185280849Scy -sunos5*) 1186280849Scy os=`echo $os | sed -e 's|sunos5|solaris2|'` 1187280849Scy ;; 1188280849Scy -sunos6*) 1189280849Scy os=`echo $os | sed -e 's|sunos6|solaris3|'` 1190280849Scy ;; 1191280849Scy -opened*) 1192280849Scy os=-openedition 1193280849Scy ;; 1194280849Scy -os400*) 1195280849Scy os=-os400 1196280849Scy ;; 1197280849Scy -wince*) 1198280849Scy os=-wince 1199280849Scy ;; 1200280849Scy -osfrose*) 1201280849Scy os=-osfrose 120254359Sroberto ;; 120354359Sroberto -osf*) 1204200576Sroberto os=-osf 1205280849Scy ;; 1206280849Scy -utek*) 1207280849Scy os=-bsd 1208280849Scy ;; 1209280849Scy -dynix*) 1210280849Scy os=-bsd 1211280849Scy ;; 1212280849Scy -acis*) 1213280849Scy os=-aos 1214280849Scy ;; 1215280849Scy -atheos*) 1216280849Scy os=-atheos 1217280849Scy ;; 1218280849Scy -386bsd) 1219280849Scy os=-bsd 1220280849Scy ;; 1221280849Scy -ctix* | -uts*) 1222280849Scy os=-sysv 1223280849Scy ;; 1224280849Scy -nova*) 1225280849Scy os=-rtmk-nova 1226280849Scy ;; 1227280849Scy -ns2 ) 1228280849Scy os=-nextstep2 1229280849Scy ;; 1230280849Scy -nsk*) 1231280849Scy os=-nsk 1232280849Scy ;; 1233280849Scy # Preserve the version number of sinix5. 1234280849Scy -sinix5.*) 1235280849Scy os=`echo $os | sed -e 's|sinix|sysv|'` 1236280849Scy ;; 1237280849Scy -sinix*) 1238280849Scy os=-sysv4 1239280849Scy ;; 1240280849Scy -tpf*) 1241280849Scy os=-tpf 1242280849Scy ;; 1243280849Scy -triton*) 1244280849Scy os=-sysv3 1245280849Scy ;; 1246280849Scy -oss*) 1247280849Scy os=-sysv3 1248280849Scy ;; 1249280849Scy -svr4) 1250280849Scy os=-sysv4 1251280849Scy ;; 1252280849Scy -svr3) 1253280849Scy os=-sysv3 1254280849Scy ;; 1255280849Scy -sysvr4) 1256280849Scy os=-sysv4 1257280849Scy ;; 1258280849Scy # This must come after -sysvr4. 1259280849Scy -sysv*) 1260280849Scy ;; 1261280849Scy -ose*) 1262280849Scy os=-ose 1263280849Scy ;; 1264280849Scy -es1800*) 1265280849Scy os=-ose 1266280849Scy ;; 1267280849Scy -xenix) 1268280849Scy os=-xenix 1269280849Scy ;; 1270280849Scy -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1271280849Scy os=-mint 1272280849Scy ;; 1273280849Scy -aros*) 1274280849Scy os=-aros 1275280849Scy ;; 1276280849Scy -kaos*) 1277280849Scy os=-kaos 1278280849Scy ;; 1279280849Scy -none) 1280280849Scy ;; 1281280849Scy *) 1282280849Scy # Get rid of the `-' at the beginning of $os. 1283280849Scy os=`echo $os | sed 's/[^-]*-//'` 1284280849Scy echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1285280849Scy exit 1 1286280849Scy ;; 1287280849Scyesac 1288280849Scyelse 1289280849Scy 1290280849Scy# Here we handle the default operating systems that come with various machines. 1291280849Scy# The value should be what the vendor currently ships out the door with their 1292280849Scy# machine or put another way, the most popular os provided with the machine. 1293280849Scy 1294280849Scy# Note that if you're going to try to match "-MANUFACTURER" here (say, 1295280849Scy# "-sun"), then you have to tell the case statement up towards the top 1296280849Scy# that MANUFACTURER isn't an operating system. Otherwise, code above 1297280849Scy# will signal an error saying that MANUFACTURER isn't an operating 1298280849Scy# system, and we'll never get to this point. 129954359Sroberto 130054359Srobertocase $basic_machine in 130154359Sroberto *-acorn) 1302 os=-riscix1.2 1303 ;; 1304 arm*-rebel) 1305 os=-linux 1306 ;; 1307 arm*-semi) 1308 os=-aout 1309 ;; 1310 c4x-* | tic4x-*) 1311 os=-coff 1312 ;; 1313 # This must come before the *-dec entry. 1314 pdp10-*) 1315 os=-tops20 1316 ;; 1317 pdp11-*) 1318 os=-none 1319 ;; 1320 *-dec | vax-*) 1321 os=-ultrix4.2 1322 ;; 1323 m68*-apollo) 1324 os=-domain 1325 ;; 1326 i386-sun) 1327 os=-sunos4.0.2 1328 ;; 1329 m68000-sun) 1330 os=-sunos3 1331 # This also exists in the configure program, but was not the 1332 # default. 1333 # os=-sunos4 1334 ;; 1335 m68*-cisco) 1336 os=-aout 1337 ;; 1338 mips*-cisco) 1339 os=-elf 1340 ;; 1341 mips*-*) 1342 os=-elf 1343 ;; 1344 or32-*) 1345 os=-coff 1346 ;; 1347 *-tti) # must be before sparc entry or we get the wrong os. 1348 os=-sysv3 1349 ;; 1350 sparc-* | *-sun) 1351 os=-sunos4.1.1 1352 ;; 1353 *-be) 1354 os=-beos 1355 ;; 1356 *-ibm) 1357 os=-aix 1358 ;; 1359 *-wec) 1360 os=-proelf 1361 ;; 1362 *-winbond) 1363 os=-proelf 1364 ;; 1365 *-oki) 1366 os=-proelf 1367 ;; 1368 *-hp) 1369 os=-hpux 1370 ;; 1371 *-hitachi) 1372 os=-hiux 1373 ;; 1374 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1375 os=-sysv 1376 ;; 1377 *-cbm) 1378 os=-amigaos 1379 ;; 1380 *-dg) 1381 os=-dgux 1382 ;; 1383 *-dolphin) 1384 os=-sysv3 1385 ;; 1386 m68k-ccur) 1387 os=-rtu 1388 ;; 1389 m88k-omron*) 1390 os=-luna 1391 ;; 1392 *-next ) 1393 os=-nextstep 1394 ;; 1395 *-sequent) 1396 os=-ptx 1397 ;; 1398 *-crds) 1399 os=-unos 1400 ;; 1401 *-ns) 1402 os=-genix 1403 ;; 1404 i370-*) 1405 os=-mvs 1406 ;; 1407 *-next) 1408 os=-nextstep3 1409 ;; 1410 *-gould) 1411 os=-sysv 1412 ;; 1413 *-highlevel) 1414 os=-bsd 1415 ;; 1416 *-encore) 1417 os=-bsd 1418 ;; 1419 *-sgi) 1420 os=-irix 1421 ;; 1422 *-siemens) 1423 os=-sysv4 1424 ;; 1425 *-masscomp) 1426 os=-rtu 1427 ;; 1428 f30[01]-fujitsu | f700-fujitsu) 1429 os=-uxpv 1430 ;; 1431 *-rom68k) 1432 os=-coff 1433 ;; 1434 *-*bug) 1435 os=-coff 1436 ;; 1437 *-apple) 1438 os=-macos 1439 ;; 1440 *-atari*) 1441 os=-mint 1442 ;; 1443 *) 1444 os=-none 1445 ;; 1446esac 1447fi 1448 1449# Here we handle the case where we know the os, and the CPU type, but not the 1450# manufacturer. We pick the logical manufacturer. 1451vendor=unknown 1452case $basic_machine in 1453 *-unknown) 1454 case $os in 1455 -riscix*) 1456 vendor=acorn 1457 ;; 1458 -sunos*) 1459 vendor=sun 1460 ;; 1461 -aix*) 1462 vendor=ibm 1463 ;; 1464 -beos*) 1465 vendor=be 1466 ;; 1467 -hpux*) 1468 vendor=hp 1469 ;; 1470 -mpeix*) 1471 vendor=hp 1472 ;; 1473 -hiux*) 1474 vendor=hitachi 1475 ;; 1476 -unos*) 1477 vendor=crds 1478 ;; 1479 -dgux*) 1480 vendor=dg 1481 ;; 1482 -luna*) 1483 vendor=omron 1484 ;; 1485 -genix*) 1486 vendor=ns 1487 ;; 1488 -mvs* | -opened*) 1489 vendor=ibm 1490 ;; 1491 -os400*) 1492 vendor=ibm 1493 ;; 1494 -ptx*) 1495 vendor=sequent 1496 ;; 1497 -tpf*) 1498 vendor=ibm 1499 ;; 1500 -vxsim* | -vxworks* | -windiss*) 1501 vendor=wrs 1502 ;; 1503 -aux*) 1504 vendor=apple 1505 ;; 1506 -hms*) 1507 vendor=hitachi 1508 ;; 1509 -mpw* | -macos*) 1510 vendor=apple 1511 ;; 1512 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1513 vendor=atari 1514 ;; 1515 -vos*) 1516 vendor=stratus 1517 ;; 1518 esac 1519 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1520 ;; 1521esac 1522 1523echo $basic_machine$os 1524exit 0 1525 1526# Local variables: 1527# eval: (add-hook 'write-file-hooks 'time-stamp) 1528# time-stamp-start: "timestamp='" 1529# time-stamp-format: "%:y-%02m-%02d" 1530# time-stamp-end: "'" 1531# End: 1532