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