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