config.sub revision 95cf0c00
1100ae103Smrg#! /bin/sh 2100ae103Smrg# Configuration validation subroutine script. 395cf0c00Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 4100ae103Smrg 595cf0c00Smrgtimestamp='2018-02-28' 6100ae103Smrg 795cf0c00Smrg# This file is free software; you can redistribute it and/or modify it 895cf0c00Smrg# under the terms of the GNU General Public License as published by 995cf0c00Smrg# the Free Software Foundation; either version 3 of the License, or 10100ae103Smrg# (at your option) any later version. 11100ae103Smrg# 1295cf0c00Smrg# This program is distributed in the hope that it will be useful, but 1395cf0c00Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1495cf0c00Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1595cf0c00Smrg# General Public License for more details. 16100ae103Smrg# 17100ae103Smrg# You should have received a copy of the GNU General Public License 1895cf0c00Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19100ae103Smrg# 20100ae103Smrg# As a special exception to the GNU General Public License, if you 21100ae103Smrg# distribute this file as part of a program that contains a 22100ae103Smrg# configuration script generated by Autoconf, you may include it under 2395cf0c00Smrg# the same distribution terms that you use for the rest of that 2495cf0c00Smrg# program. This Exception is an additional permission under section 7 2595cf0c00Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26100ae103Smrg 27100ae103Smrg 2895cf0c00Smrg# Please send patches to <config-patches@gnu.org>. 29100ae103Smrg# 30100ae103Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31100ae103Smrg# Supply the specified configuration type as an argument. 32100ae103Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33100ae103Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34100ae103Smrg 35165cb819Smrg# You can get the latest version of this script from: 3695cf0c00Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37165cb819Smrg 38100ae103Smrg# This file is supposed to be the same for all GNU packages 39100ae103Smrg# and recognize all the CPU types, system types and aliases 40100ae103Smrg# that are meaningful with *any* GNU software. 41100ae103Smrg# Each package is responsible for reporting which valid configurations 42100ae103Smrg# it does not support. The user should be able to distinguish 43100ae103Smrg# a failure to support a valid configuration from a meaningless 44100ae103Smrg# configuration. 45100ae103Smrg 46100ae103Smrg# The goal of this file is to map all the various variations of a given 47100ae103Smrg# machine specification into a single specification in the form: 48100ae103Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49100ae103Smrg# or in some cases, the newer four-part form: 50100ae103Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51100ae103Smrg# It is wrong to echo any other type of specification. 52100ae103Smrg 53100ae103Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54100ae103Smrg 55100ae103Smrgusage="\ 5695cf0c00SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57100ae103Smrg 58100ae103SmrgCanonicalize a configuration name. 59100ae103Smrg 6095cf0c00SmrgOptions: 61100ae103Smrg -h, --help print this help, then exit 62100ae103Smrg -t, --time-stamp print date of last modification, then exit 63100ae103Smrg -v, --version print version number, then exit 64100ae103Smrg 65100ae103SmrgReport bugs and patches to <config-patches@gnu.org>." 66100ae103Smrg 67100ae103Smrgversion="\ 68100ae103SmrgGNU config.sub ($timestamp) 69100ae103Smrg 7095cf0c00SmrgCopyright 1992-2018 Free Software Foundation, Inc. 71100ae103Smrg 72100ae103SmrgThis is free software; see the source for copying conditions. There is NO 73100ae103Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74100ae103Smrg 75100ae103Smrghelp=" 76100ae103SmrgTry \`$me --help' for more information." 77100ae103Smrg 78100ae103Smrg# Parse command line 79100ae103Smrgwhile test $# -gt 0 ; do 80100ae103Smrg case $1 in 81100ae103Smrg --time-stamp | --time* | -t ) 82100ae103Smrg echo "$timestamp" ; exit ;; 83100ae103Smrg --version | -v ) 84100ae103Smrg echo "$version" ; exit ;; 85100ae103Smrg --help | --h* | -h ) 86100ae103Smrg echo "$usage"; exit ;; 87100ae103Smrg -- ) # Stop option processing 88100ae103Smrg shift; break ;; 89100ae103Smrg - ) # Use stdin as input. 90100ae103Smrg break ;; 91100ae103Smrg -* ) 92100ae103Smrg echo "$me: invalid option $1$help" 93100ae103Smrg exit 1 ;; 94100ae103Smrg 95100ae103Smrg *local*) 96100ae103Smrg # First pass through any local machine types. 9795cf0c00Smrg echo "$1" 98100ae103Smrg exit ;; 99100ae103Smrg 100100ae103Smrg * ) 101100ae103Smrg break ;; 102100ae103Smrg esac 103100ae103Smrgdone 104100ae103Smrg 105100ae103Smrgcase $# in 106100ae103Smrg 0) echo "$me: missing argument$help" >&2 107100ae103Smrg exit 1;; 108100ae103Smrg 1) ;; 109100ae103Smrg *) echo "$me: too many arguments$help" >&2 110100ae103Smrg exit 1;; 111100ae103Smrgesac 112100ae103Smrg 113100ae103Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114100ae103Smrg# Here we must recognize all the valid KERNEL-OS combinations. 11595cf0c00Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116100ae103Smrgcase $maybe_os in 1178831d3fbSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11895cf0c00Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11995cf0c00Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 12095cf0c00Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121165cb819Smrg storm-chaos* | os2-emx* | rtmk-nova*) 122100ae103Smrg os=-$maybe_os 12395cf0c00Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12495cf0c00Smrg ;; 12595cf0c00Smrg android-linux) 12695cf0c00Smrg os=-linux-android 12795cf0c00Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 128100ae103Smrg ;; 129100ae103Smrg *) 13095cf0c00Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 13195cf0c00Smrg if [ "$basic_machine" != "$1" ] 13295cf0c00Smrg then os=`echo "$1" | sed 's/.*-/-/'` 133100ae103Smrg else os=; fi 134100ae103Smrg ;; 135100ae103Smrgesac 136100ae103Smrg 137100ae103Smrg### Let's recognize common machines as not being operating systems so 138100ae103Smrg### that things like config.sub decstation-3100 work. We also 139100ae103Smrg### recognize some manufacturers as not being operating systems, so we 140100ae103Smrg### can provide default operating systems below. 141100ae103Smrgcase $os in 142100ae103Smrg -sun*os*) 143100ae103Smrg # Prevent following clause from handling this invalid input. 144100ae103Smrg ;; 145100ae103Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146100ae103Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147100ae103Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148100ae103Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149100ae103Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150100ae103Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15195cf0c00Smrg -apple | -axis | -knuth | -cray | -microblaze*) 152100ae103Smrg os= 153100ae103Smrg basic_machine=$1 154100ae103Smrg ;; 1558831d3fbSmrg -bluegene*) 1568831d3fbSmrg os=-cnk 157165cb819Smrg ;; 158100ae103Smrg -sim | -cisco | -oki | -wec | -winbond) 159100ae103Smrg os= 160100ae103Smrg basic_machine=$1 161100ae103Smrg ;; 162100ae103Smrg -scout) 163100ae103Smrg ;; 164100ae103Smrg -wrs) 165100ae103Smrg os=-vxworks 166100ae103Smrg basic_machine=$1 167100ae103Smrg ;; 168100ae103Smrg -chorusos*) 169100ae103Smrg os=-chorusos 170100ae103Smrg basic_machine=$1 171100ae103Smrg ;; 1728831d3fbSmrg -chorusrdb) 1738831d3fbSmrg os=-chorusrdb 174100ae103Smrg basic_machine=$1 1758831d3fbSmrg ;; 176100ae103Smrg -hiux*) 177100ae103Smrg os=-hiuxwe2 178100ae103Smrg ;; 179165cb819Smrg -sco6) 180165cb819Smrg os=-sco5v6 18195cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 182165cb819Smrg ;; 183100ae103Smrg -sco5) 184100ae103Smrg os=-sco3.2v5 18595cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186100ae103Smrg ;; 187100ae103Smrg -sco4) 188100ae103Smrg os=-sco3.2v4 18995cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190100ae103Smrg ;; 191100ae103Smrg -sco3.2.[4-9]*) 192100ae103Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19395cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194100ae103Smrg ;; 195100ae103Smrg -sco3.2v[4-9]*) 196100ae103Smrg # Don't forget version if it is 3.2v4 or newer. 19795cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198100ae103Smrg ;; 199165cb819Smrg -sco5v6*) 200165cb819Smrg # Don't forget version if it is 3.2v4 or newer. 20195cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 202165cb819Smrg ;; 203100ae103Smrg -sco*) 204100ae103Smrg os=-sco3.2v2 20595cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206100ae103Smrg ;; 207100ae103Smrg -udk*) 20895cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209100ae103Smrg ;; 210100ae103Smrg -isc) 211100ae103Smrg os=-isc2.2 21295cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213100ae103Smrg ;; 214100ae103Smrg -clix*) 215100ae103Smrg basic_machine=clipper-intergraph 216100ae103Smrg ;; 217100ae103Smrg -isc*) 21895cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 21995cf0c00Smrg ;; 22095cf0c00Smrg -lynx*178) 22195cf0c00Smrg os=-lynxos178 22295cf0c00Smrg ;; 22395cf0c00Smrg -lynx*5) 22495cf0c00Smrg os=-lynxos5 225100ae103Smrg ;; 226100ae103Smrg -lynx*) 227100ae103Smrg os=-lynxos 228100ae103Smrg ;; 229100ae103Smrg -ptx*) 23095cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231100ae103Smrg ;; 232100ae103Smrg -psos*) 233100ae103Smrg os=-psos 234100ae103Smrg ;; 235100ae103Smrg -mint | -mint[0-9]*) 236100ae103Smrg basic_machine=m68k-atari 237100ae103Smrg os=-mint 238100ae103Smrg ;; 239100ae103Smrgesac 240100ae103Smrg 241100ae103Smrg# Decode aliases for certain CPU-COMPANY combinations. 242100ae103Smrgcase $basic_machine in 243100ae103Smrg # Recognize the basic CPU types without company name. 244100ae103Smrg # Some are omitted here because they have special meanings below. 245100ae103Smrg 1750a | 580 \ 246100ae103Smrg | a29k \ 24795cf0c00Smrg | aarch64 | aarch64_be \ 248100ae103Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249100ae103Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 250100ae103Smrg | am33_2.0 \ 25195cf0c00Smrg | arc | arceb \ 25295cf0c00Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25395cf0c00Smrg | avr | avr32 \ 25495cf0c00Smrg | ba \ 25595cf0c00Smrg | be32 | be64 \ 256100ae103Smrg | bfin \ 25795cf0c00Smrg | c4x | c8051 | clipper \ 258100ae103Smrg | d10v | d30v | dlx | dsp16xx \ 25995cf0c00Smrg | e2k | epiphany \ 26095cf0c00Smrg | fido | fr30 | frv | ft32 \ 261100ae103Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2628831d3fbSmrg | hexagon \ 26395cf0c00Smrg | i370 | i860 | i960 | ia16 | ia64 \ 264100ae103Smrg | ip2k | iq2000 \ 26595cf0c00Smrg | k1om \ 2668831d3fbSmrg | le32 | le64 \ 267165cb819Smrg | lm32 \ 268165cb819Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26995cf0c00Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270100ae103Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271100ae103Smrg | mips16 \ 272100ae103Smrg | mips64 | mips64el \ 273165cb819Smrg | mips64octeon | mips64octeonel \ 274100ae103Smrg | mips64orion | mips64orionel \ 275165cb819Smrg | mips64r5900 | mips64r5900el \ 276165cb819Smrg | mips64vr | mips64vrel \ 277100ae103Smrg | mips64vr4100 | mips64vr4100el \ 278100ae103Smrg | mips64vr4300 | mips64vr4300el \ 279100ae103Smrg | mips64vr5000 | mips64vr5000el \ 280100ae103Smrg | mips64vr5900 | mips64vr5900el \ 281100ae103Smrg | mipsisa32 | mipsisa32el \ 282100ae103Smrg | mipsisa32r2 | mipsisa32r2el \ 28395cf0c00Smrg | mipsisa32r6 | mipsisa32r6el \ 284100ae103Smrg | mipsisa64 | mipsisa64el \ 285100ae103Smrg | mipsisa64r2 | mipsisa64r2el \ 28695cf0c00Smrg | mipsisa64r6 | mipsisa64r6el \ 287100ae103Smrg | mipsisa64sb1 | mipsisa64sb1el \ 288100ae103Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 28995cf0c00Smrg | mipsr5900 | mipsr5900el \ 290100ae103Smrg | mipstx39 | mipstx39el \ 291100ae103Smrg | mn10200 | mn10300 \ 292165cb819Smrg | moxie \ 293165cb819Smrg | mt \ 294100ae103Smrg | msp430 \ 2958831d3fbSmrg | nds32 | nds32le | nds32be \ 29695cf0c00Smrg | nios | nios2 | nios2eb | nios2el \ 297100ae103Smrg | ns16k | ns32k \ 29895cf0c00Smrg | open8 | or1k | or1knd | or32 \ 29995cf0c00Smrg | pdp10 | pj | pjl \ 3008831d3fbSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30195cf0c00Smrg | pru \ 302100ae103Smrg | pyramid \ 30395cf0c00Smrg | riscv32 | riscv64 \ 3048831d3fbSmrg | rl78 | rx \ 305165cb819Smrg | score \ 30695cf0c00Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307100ae103Smrg | sh64 | sh64le \ 308165cb819Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 309165cb819Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3108831d3fbSmrg | spu \ 3118831d3fbSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312165cb819Smrg | ubicom32 \ 3138831d3fbSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31495cf0c00Smrg | visium \ 31595cf0c00Smrg | wasm32 \ 3168831d3fbSmrg | x86 | xc16x | xstormy16 | xtensa \ 317165cb819Smrg | z8k | z80) 318100ae103Smrg basic_machine=$basic_machine-unknown 319100ae103Smrg ;; 3208831d3fbSmrg c54x) 3218831d3fbSmrg basic_machine=tic54x-unknown 3228831d3fbSmrg ;; 3238831d3fbSmrg c55x) 3248831d3fbSmrg basic_machine=tic55x-unknown 3258831d3fbSmrg ;; 3268831d3fbSmrg c6x) 3278831d3fbSmrg basic_machine=tic6x-unknown 3288831d3fbSmrg ;; 32995cf0c00Smrg leon|leon[3-9]) 33095cf0c00Smrg basic_machine=sparc-$basic_machine 33195cf0c00Smrg ;; 33295cf0c00Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333100ae103Smrg basic_machine=$basic_machine-unknown 334100ae103Smrg os=-none 335100ae103Smrg ;; 33695cf0c00Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337100ae103Smrg ;; 338165cb819Smrg ms1) 339165cb819Smrg basic_machine=mt-unknown 340165cb819Smrg ;; 341100ae103Smrg 3428831d3fbSmrg strongarm | thumb | xscale) 3438831d3fbSmrg basic_machine=arm-unknown 3448831d3fbSmrg ;; 34595cf0c00Smrg xgate) 34695cf0c00Smrg basic_machine=$basic_machine-unknown 34795cf0c00Smrg os=-none 34895cf0c00Smrg ;; 3498831d3fbSmrg xscaleeb) 3508831d3fbSmrg basic_machine=armeb-unknown 3518831d3fbSmrg ;; 3528831d3fbSmrg 3538831d3fbSmrg xscaleel) 3548831d3fbSmrg basic_machine=armel-unknown 3558831d3fbSmrg ;; 3568831d3fbSmrg 357100ae103Smrg # We use `pc' rather than `unknown' 358100ae103Smrg # because (1) that's what they normally are, and 359100ae103Smrg # (2) the word "unknown" tends to confuse beginning users. 360100ae103Smrg i*86 | x86_64) 361100ae103Smrg basic_machine=$basic_machine-pc 362100ae103Smrg ;; 363100ae103Smrg # Object if more than one company name word. 364100ae103Smrg *-*-*) 36595cf0c00Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366100ae103Smrg exit 1 367100ae103Smrg ;; 368100ae103Smrg # Recognize the basic CPU types with company name. 369100ae103Smrg 580-* \ 370100ae103Smrg | a29k-* \ 37195cf0c00Smrg | aarch64-* | aarch64_be-* \ 372100ae103Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373100ae103Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37495cf0c00Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375100ae103Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 376165cb819Smrg | avr-* | avr32-* \ 37795cf0c00Smrg | ba-* \ 3788831d3fbSmrg | be32-* | be64-* \ 379100ae103Smrg | bfin-* | bs2000-* \ 3808831d3fbSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38195cf0c00Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382100ae103Smrg | d10v-* | d30v-* | dlx-* \ 38395cf0c00Smrg | e2k-* | elxsi-* \ 384165cb819Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385100ae103Smrg | h8300-* | h8500-* \ 386100ae103Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3878831d3fbSmrg | hexagon-* \ 38895cf0c00Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 389100ae103Smrg | ip2k-* | iq2000-* \ 39095cf0c00Smrg | k1om-* \ 3918831d3fbSmrg | le32-* | le64-* \ 392165cb819Smrg | lm32-* \ 393165cb819Smrg | m32c-* | m32r-* | m32rle-* \ 394100ae103Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39595cf0c00Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39695cf0c00Smrg | microblaze-* | microblazeel-* \ 397100ae103Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398100ae103Smrg | mips16-* \ 399100ae103Smrg | mips64-* | mips64el-* \ 400165cb819Smrg | mips64octeon-* | mips64octeonel-* \ 401100ae103Smrg | mips64orion-* | mips64orionel-* \ 402165cb819Smrg | mips64r5900-* | mips64r5900el-* \ 403165cb819Smrg | mips64vr-* | mips64vrel-* \ 404100ae103Smrg | mips64vr4100-* | mips64vr4100el-* \ 405100ae103Smrg | mips64vr4300-* | mips64vr4300el-* \ 406100ae103Smrg | mips64vr5000-* | mips64vr5000el-* \ 407100ae103Smrg | mips64vr5900-* | mips64vr5900el-* \ 408100ae103Smrg | mipsisa32-* | mipsisa32el-* \ 409100ae103Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41095cf0c00Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 411100ae103Smrg | mipsisa64-* | mipsisa64el-* \ 412100ae103Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41395cf0c00Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 414100ae103Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415100ae103Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41695cf0c00Smrg | mipsr5900-* | mipsr5900el-* \ 417100ae103Smrg | mipstx39-* | mipstx39el-* \ 418100ae103Smrg | mmix-* \ 419165cb819Smrg | mt-* \ 420100ae103Smrg | msp430-* \ 4218831d3fbSmrg | nds32-* | nds32le-* | nds32be-* \ 42295cf0c00Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 423100ae103Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4248831d3fbSmrg | open8-* \ 42595cf0c00Smrg | or1k*-* \ 426100ae103Smrg | orion-* \ 427100ae103Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4288831d3fbSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 42995cf0c00Smrg | pru-* \ 430100ae103Smrg | pyramid-* \ 43195cf0c00Smrg | riscv32-* | riscv64-* \ 4328831d3fbSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 433165cb819Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434100ae103Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 435165cb819Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 436100ae103Smrg | sparclite-* \ 43795cf0c00Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4388831d3fbSmrg | tahoe-* \ 4398831d3fbSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4408831d3fbSmrg | tile*-* \ 441100ae103Smrg | tron-* \ 442165cb819Smrg | ubicom32-* \ 4438831d3fbSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4448831d3fbSmrg | vax-* \ 44595cf0c00Smrg | visium-* \ 44695cf0c00Smrg | wasm32-* \ 447100ae103Smrg | we32k-* \ 4488831d3fbSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449165cb819Smrg | xstormy16-* | xtensa*-* \ 450100ae103Smrg | ymp-* \ 451165cb819Smrg | z8k-* | z80-*) 452100ae103Smrg ;; 453165cb819Smrg # Recognize the basic CPU types without company name, with glob match. 454165cb819Smrg xtensa*) 455165cb819Smrg basic_machine=$basic_machine-unknown 456100ae103Smrg ;; 457100ae103Smrg # Recognize the various machine names and aliases which stand 458100ae103Smrg # for a CPU type and a company and sometimes even an OS. 459100ae103Smrg 386bsd) 46095cf0c00Smrg basic_machine=i386-pc 461100ae103Smrg os=-bsd 462100ae103Smrg ;; 463100ae103Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464100ae103Smrg basic_machine=m68000-att 465100ae103Smrg ;; 466100ae103Smrg 3b*) 467100ae103Smrg basic_machine=we32k-att 468100ae103Smrg ;; 469100ae103Smrg a29khif) 470100ae103Smrg basic_machine=a29k-amd 471100ae103Smrg os=-udi 472100ae103Smrg ;; 4738831d3fbSmrg abacus) 474100ae103Smrg basic_machine=abacus-unknown 475100ae103Smrg ;; 476100ae103Smrg adobe68k) 477100ae103Smrg basic_machine=m68010-adobe 478100ae103Smrg os=-scout 479100ae103Smrg ;; 480100ae103Smrg alliant | fx80) 481100ae103Smrg basic_machine=fx80-alliant 482100ae103Smrg ;; 483100ae103Smrg altos | altos3068) 484100ae103Smrg basic_machine=m68k-altos 485100ae103Smrg ;; 486100ae103Smrg am29k) 487100ae103Smrg basic_machine=a29k-none 488100ae103Smrg os=-bsd 489100ae103Smrg ;; 490100ae103Smrg amd64) 491100ae103Smrg basic_machine=x86_64-pc 492100ae103Smrg ;; 493100ae103Smrg amd64-*) 49495cf0c00Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 495100ae103Smrg ;; 496100ae103Smrg amdahl) 497100ae103Smrg basic_machine=580-amdahl 498100ae103Smrg os=-sysv 499100ae103Smrg ;; 500100ae103Smrg amiga | amiga-*) 501100ae103Smrg basic_machine=m68k-unknown 502100ae103Smrg ;; 503100ae103Smrg amigaos | amigados) 504100ae103Smrg basic_machine=m68k-unknown 505100ae103Smrg os=-amigaos 506100ae103Smrg ;; 507100ae103Smrg amigaunix | amix) 508100ae103Smrg basic_machine=m68k-unknown 509100ae103Smrg os=-sysv4 510100ae103Smrg ;; 511100ae103Smrg apollo68) 512100ae103Smrg basic_machine=m68k-apollo 513100ae103Smrg os=-sysv 514100ae103Smrg ;; 515100ae103Smrg apollo68bsd) 516100ae103Smrg basic_machine=m68k-apollo 517100ae103Smrg os=-bsd 518100ae103Smrg ;; 519165cb819Smrg aros) 520165cb819Smrg basic_machine=i386-pc 521165cb819Smrg os=-aros 522165cb819Smrg ;; 52395cf0c00Smrg asmjs) 52495cf0c00Smrg basic_machine=asmjs-unknown 52595cf0c00Smrg ;; 526100ae103Smrg aux) 527100ae103Smrg basic_machine=m68k-apple 528100ae103Smrg os=-aux 529100ae103Smrg ;; 530100ae103Smrg balance) 531100ae103Smrg basic_machine=ns32k-sequent 532100ae103Smrg os=-dynix 533100ae103Smrg ;; 534165cb819Smrg blackfin) 535165cb819Smrg basic_machine=bfin-unknown 536165cb819Smrg os=-linux 537165cb819Smrg ;; 538165cb819Smrg blackfin-*) 53995cf0c00Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540165cb819Smrg os=-linux 541165cb819Smrg ;; 542165cb819Smrg bluegene*) 543165cb819Smrg basic_machine=powerpc-ibm 544165cb819Smrg os=-cnk 545165cb819Smrg ;; 5468831d3fbSmrg c54x-*) 54795cf0c00Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5488831d3fbSmrg ;; 5498831d3fbSmrg c55x-*) 55095cf0c00Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5518831d3fbSmrg ;; 5528831d3fbSmrg c6x-*) 55395cf0c00Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5548831d3fbSmrg ;; 555100ae103Smrg c90) 556100ae103Smrg basic_machine=c90-cray 557100ae103Smrg os=-unicos 558100ae103Smrg ;; 5598831d3fbSmrg cegcc) 560165cb819Smrg basic_machine=arm-unknown 561165cb819Smrg os=-cegcc 562165cb819Smrg ;; 563100ae103Smrg convex-c1) 564100ae103Smrg basic_machine=c1-convex 565100ae103Smrg os=-bsd 566100ae103Smrg ;; 567100ae103Smrg convex-c2) 568100ae103Smrg basic_machine=c2-convex 569100ae103Smrg os=-bsd 570100ae103Smrg ;; 571100ae103Smrg convex-c32) 572100ae103Smrg basic_machine=c32-convex 573100ae103Smrg os=-bsd 574100ae103Smrg ;; 575100ae103Smrg convex-c34) 576100ae103Smrg basic_machine=c34-convex 577100ae103Smrg os=-bsd 578100ae103Smrg ;; 579100ae103Smrg convex-c38) 580100ae103Smrg basic_machine=c38-convex 581100ae103Smrg os=-bsd 582100ae103Smrg ;; 583100ae103Smrg cray | j90) 584100ae103Smrg basic_machine=j90-cray 585100ae103Smrg os=-unicos 586100ae103Smrg ;; 587100ae103Smrg craynv) 588100ae103Smrg basic_machine=craynv-cray 589100ae103Smrg os=-unicosmp 590100ae103Smrg ;; 5918831d3fbSmrg cr16 | cr16-*) 592165cb819Smrg basic_machine=cr16-unknown 593100ae103Smrg os=-elf 594100ae103Smrg ;; 595100ae103Smrg crds | unos) 596100ae103Smrg basic_machine=m68k-crds 597100ae103Smrg ;; 598100ae103Smrg crisv32 | crisv32-* | etraxfs*) 599100ae103Smrg basic_machine=crisv32-axis 600100ae103Smrg ;; 601100ae103Smrg cris | cris-* | etrax*) 602100ae103Smrg basic_machine=cris-axis 603100ae103Smrg ;; 604100ae103Smrg crx) 605100ae103Smrg basic_machine=crx-unknown 606100ae103Smrg os=-elf 607100ae103Smrg ;; 608100ae103Smrg da30 | da30-*) 609100ae103Smrg basic_machine=m68k-da30 610100ae103Smrg ;; 611100ae103Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612100ae103Smrg basic_machine=mips-dec 613100ae103Smrg ;; 614100ae103Smrg decsystem10* | dec10*) 615100ae103Smrg basic_machine=pdp10-dec 616100ae103Smrg os=-tops10 617100ae103Smrg ;; 618100ae103Smrg decsystem20* | dec20*) 619100ae103Smrg basic_machine=pdp10-dec 620100ae103Smrg os=-tops20 621100ae103Smrg ;; 622100ae103Smrg delta | 3300 | motorola-3300 | motorola-delta \ 623100ae103Smrg | 3300-motorola | delta-motorola) 624100ae103Smrg basic_machine=m68k-motorola 625100ae103Smrg ;; 626100ae103Smrg delta88) 627100ae103Smrg basic_machine=m88k-motorola 628100ae103Smrg os=-sysv3 629100ae103Smrg ;; 630165cb819Smrg dicos) 631165cb819Smrg basic_machine=i686-pc 632165cb819Smrg os=-dicos 633165cb819Smrg ;; 634100ae103Smrg djgpp) 635100ae103Smrg basic_machine=i586-pc 636100ae103Smrg os=-msdosdjgpp 637100ae103Smrg ;; 638100ae103Smrg dpx20 | dpx20-*) 639100ae103Smrg basic_machine=rs6000-bull 640100ae103Smrg os=-bosx 641100ae103Smrg ;; 64295cf0c00Smrg dpx2*) 643100ae103Smrg basic_machine=m68k-bull 644100ae103Smrg os=-sysv3 645100ae103Smrg ;; 64695cf0c00Smrg e500v[12]) 64795cf0c00Smrg basic_machine=powerpc-unknown 64895cf0c00Smrg os=$os"spe" 64995cf0c00Smrg ;; 65095cf0c00Smrg e500v[12]-*) 65195cf0c00Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 65295cf0c00Smrg os=$os"spe" 65395cf0c00Smrg ;; 654100ae103Smrg ebmon29k) 655100ae103Smrg basic_machine=a29k-amd 656100ae103Smrg os=-ebmon 657100ae103Smrg ;; 658100ae103Smrg elxsi) 659100ae103Smrg basic_machine=elxsi-elxsi 660100ae103Smrg os=-bsd 661100ae103Smrg ;; 662100ae103Smrg encore | umax | mmax) 663100ae103Smrg basic_machine=ns32k-encore 664100ae103Smrg ;; 665100ae103Smrg es1800 | OSE68k | ose68k | ose | OSE) 666100ae103Smrg basic_machine=m68k-ericsson 667100ae103Smrg os=-ose 668100ae103Smrg ;; 669100ae103Smrg fx2800) 670100ae103Smrg basic_machine=i860-alliant 671100ae103Smrg ;; 672100ae103Smrg genix) 673100ae103Smrg basic_machine=ns32k-ns 674100ae103Smrg ;; 675100ae103Smrg gmicro) 676100ae103Smrg basic_machine=tron-gmicro 677100ae103Smrg os=-sysv 678100ae103Smrg ;; 679100ae103Smrg go32) 680100ae103Smrg basic_machine=i386-pc 681100ae103Smrg os=-go32 682100ae103Smrg ;; 683100ae103Smrg h3050r* | hiux*) 684100ae103Smrg basic_machine=hppa1.1-hitachi 685100ae103Smrg os=-hiuxwe2 686100ae103Smrg ;; 687100ae103Smrg h8300hms) 688100ae103Smrg basic_machine=h8300-hitachi 689100ae103Smrg os=-hms 690100ae103Smrg ;; 691100ae103Smrg h8300xray) 692100ae103Smrg basic_machine=h8300-hitachi 693100ae103Smrg os=-xray 694100ae103Smrg ;; 695100ae103Smrg h8500hms) 696100ae103Smrg basic_machine=h8500-hitachi 697100ae103Smrg os=-hms 698100ae103Smrg ;; 699100ae103Smrg harris) 700100ae103Smrg basic_machine=m88k-harris 701100ae103Smrg os=-sysv3 702100ae103Smrg ;; 703100ae103Smrg hp300-*) 704100ae103Smrg basic_machine=m68k-hp 705100ae103Smrg ;; 706100ae103Smrg hp300bsd) 707100ae103Smrg basic_machine=m68k-hp 708100ae103Smrg os=-bsd 709100ae103Smrg ;; 710100ae103Smrg hp300hpux) 711100ae103Smrg basic_machine=m68k-hp 712100ae103Smrg os=-hpux 713100ae103Smrg ;; 714100ae103Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715100ae103Smrg basic_machine=hppa1.0-hp 716100ae103Smrg ;; 717100ae103Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718100ae103Smrg basic_machine=m68000-hp 719100ae103Smrg ;; 720100ae103Smrg hp9k3[2-9][0-9]) 721100ae103Smrg basic_machine=m68k-hp 722100ae103Smrg ;; 723100ae103Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724100ae103Smrg basic_machine=hppa1.0-hp 725100ae103Smrg ;; 726100ae103Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727100ae103Smrg basic_machine=hppa1.1-hp 728100ae103Smrg ;; 729100ae103Smrg hp9k78[0-9] | hp78[0-9]) 730100ae103Smrg # FIXME: really hppa2.0-hp 731100ae103Smrg basic_machine=hppa1.1-hp 732100ae103Smrg ;; 733100ae103Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734100ae103Smrg # FIXME: really hppa2.0-hp 735100ae103Smrg basic_machine=hppa1.1-hp 736100ae103Smrg ;; 737100ae103Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738100ae103Smrg basic_machine=hppa1.1-hp 739100ae103Smrg ;; 740100ae103Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741100ae103Smrg basic_machine=hppa1.0-hp 742100ae103Smrg ;; 743100ae103Smrg hppaosf) 744100ae103Smrg basic_machine=hppa1.1-hp 745100ae103Smrg os=-osf 746100ae103Smrg ;; 747100ae103Smrg hppro) 748100ae103Smrg basic_machine=hppa1.1-hp 749100ae103Smrg os=-proelf 750100ae103Smrg ;; 751100ae103Smrg i370-ibm* | ibm*) 752100ae103Smrg basic_machine=i370-ibm 753100ae103Smrg ;; 754100ae103Smrg i*86v32) 75595cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756100ae103Smrg os=-sysv32 757100ae103Smrg ;; 758100ae103Smrg i*86v4*) 75995cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760100ae103Smrg os=-sysv4 761100ae103Smrg ;; 762100ae103Smrg i*86v) 76395cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764100ae103Smrg os=-sysv 765100ae103Smrg ;; 766100ae103Smrg i*86sol2) 76795cf0c00Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768100ae103Smrg os=-solaris2 769100ae103Smrg ;; 770100ae103Smrg i386mach) 771100ae103Smrg basic_machine=i386-mach 772100ae103Smrg os=-mach 773100ae103Smrg ;; 77495cf0c00Smrg vsta) 775100ae103Smrg basic_machine=i386-unknown 776100ae103Smrg os=-vsta 777100ae103Smrg ;; 778100ae103Smrg iris | iris4d) 779100ae103Smrg basic_machine=mips-sgi 780100ae103Smrg case $os in 781100ae103Smrg -irix*) 782100ae103Smrg ;; 783100ae103Smrg *) 784100ae103Smrg os=-irix4 785100ae103Smrg ;; 786100ae103Smrg esac 787100ae103Smrg ;; 788100ae103Smrg isi68 | isi) 789100ae103Smrg basic_machine=m68k-isi 790100ae103Smrg os=-sysv 791100ae103Smrg ;; 79295cf0c00Smrg leon-*|leon[3-9]-*) 79395cf0c00Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 79495cf0c00Smrg ;; 795165cb819Smrg m68knommu) 796165cb819Smrg basic_machine=m68k-unknown 797165cb819Smrg os=-linux 798165cb819Smrg ;; 799165cb819Smrg m68knommu-*) 80095cf0c00Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801165cb819Smrg os=-linux 802165cb819Smrg ;; 803100ae103Smrg magnum | m3230) 804100ae103Smrg basic_machine=mips-mips 805100ae103Smrg os=-sysv 806100ae103Smrg ;; 807100ae103Smrg merlin) 808100ae103Smrg basic_machine=ns32k-utek 809100ae103Smrg os=-sysv 810100ae103Smrg ;; 81195cf0c00Smrg microblaze*) 812165cb819Smrg basic_machine=microblaze-xilinx 813165cb819Smrg ;; 81495cf0c00Smrg mingw64) 81595cf0c00Smrg basic_machine=x86_64-pc 81695cf0c00Smrg os=-mingw64 81795cf0c00Smrg ;; 818100ae103Smrg mingw32) 81995cf0c00Smrg basic_machine=i686-pc 820100ae103Smrg os=-mingw32 821100ae103Smrg ;; 822165cb819Smrg mingw32ce) 823165cb819Smrg basic_machine=arm-unknown 824165cb819Smrg os=-mingw32ce 825165cb819Smrg ;; 826100ae103Smrg miniframe) 827100ae103Smrg basic_machine=m68000-convergent 828100ae103Smrg ;; 829100ae103Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830100ae103Smrg basic_machine=m68k-atari 831100ae103Smrg os=-mint 832100ae103Smrg ;; 833100ae103Smrg mips3*-*) 83495cf0c00Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835100ae103Smrg ;; 836100ae103Smrg mips3*) 83795cf0c00Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838100ae103Smrg ;; 839100ae103Smrg monitor) 840100ae103Smrg basic_machine=m68k-rom68k 841100ae103Smrg os=-coff 842100ae103Smrg ;; 843100ae103Smrg morphos) 844100ae103Smrg basic_machine=powerpc-unknown 845100ae103Smrg os=-morphos 846100ae103Smrg ;; 84795cf0c00Smrg moxiebox) 84895cf0c00Smrg basic_machine=moxie-unknown 84995cf0c00Smrg os=-moxiebox 85095cf0c00Smrg ;; 851100ae103Smrg msdos) 852100ae103Smrg basic_machine=i386-pc 853100ae103Smrg os=-msdos 854100ae103Smrg ;; 855165cb819Smrg ms1-*) 85695cf0c00Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 857165cb819Smrg ;; 8588831d3fbSmrg msys) 85995cf0c00Smrg basic_machine=i686-pc 8608831d3fbSmrg os=-msys 8618831d3fbSmrg ;; 862100ae103Smrg mvs) 863100ae103Smrg basic_machine=i370-ibm 864100ae103Smrg os=-mvs 865100ae103Smrg ;; 8668831d3fbSmrg nacl) 8678831d3fbSmrg basic_machine=le32-unknown 8688831d3fbSmrg os=-nacl 8698831d3fbSmrg ;; 870100ae103Smrg ncr3000) 871100ae103Smrg basic_machine=i486-ncr 872100ae103Smrg os=-sysv4 873100ae103Smrg ;; 874100ae103Smrg netbsd386) 875100ae103Smrg basic_machine=i386-unknown 876100ae103Smrg os=-netbsd 877100ae103Smrg ;; 878100ae103Smrg netwinder) 879100ae103Smrg basic_machine=armv4l-rebel 880100ae103Smrg os=-linux 881100ae103Smrg ;; 882100ae103Smrg news | news700 | news800 | news900) 883100ae103Smrg basic_machine=m68k-sony 884100ae103Smrg os=-newsos 885100ae103Smrg ;; 886100ae103Smrg news1000) 887100ae103Smrg basic_machine=m68030-sony 888100ae103Smrg os=-newsos 889100ae103Smrg ;; 890100ae103Smrg news-3600 | risc-news) 891100ae103Smrg basic_machine=mips-sony 892100ae103Smrg os=-newsos 893100ae103Smrg ;; 894100ae103Smrg necv70) 895100ae103Smrg basic_machine=v70-nec 896100ae103Smrg os=-sysv 897100ae103Smrg ;; 89895cf0c00Smrg next | m*-next) 899100ae103Smrg basic_machine=m68k-next 900100ae103Smrg case $os in 901100ae103Smrg -nextstep* ) 902100ae103Smrg ;; 903100ae103Smrg -ns2*) 904100ae103Smrg os=-nextstep2 905100ae103Smrg ;; 906100ae103Smrg *) 907100ae103Smrg os=-nextstep3 908100ae103Smrg ;; 909100ae103Smrg esac 910100ae103Smrg ;; 911100ae103Smrg nh3000) 912100ae103Smrg basic_machine=m68k-harris 913100ae103Smrg os=-cxux 914100ae103Smrg ;; 915100ae103Smrg nh[45]000) 916100ae103Smrg basic_machine=m88k-harris 917100ae103Smrg os=-cxux 918100ae103Smrg ;; 919100ae103Smrg nindy960) 920100ae103Smrg basic_machine=i960-intel 921100ae103Smrg os=-nindy 922100ae103Smrg ;; 923100ae103Smrg mon960) 924100ae103Smrg basic_machine=i960-intel 925100ae103Smrg os=-mon960 926100ae103Smrg ;; 927100ae103Smrg nonstopux) 928100ae103Smrg basic_machine=mips-compaq 929100ae103Smrg os=-nonstopux 930100ae103Smrg ;; 931100ae103Smrg np1) 932100ae103Smrg basic_machine=np1-gould 933100ae103Smrg ;; 9348831d3fbSmrg neo-tandem) 9358831d3fbSmrg basic_machine=neo-tandem 9368831d3fbSmrg ;; 9378831d3fbSmrg nse-tandem) 9388831d3fbSmrg basic_machine=nse-tandem 9398831d3fbSmrg ;; 940100ae103Smrg nsr-tandem) 941100ae103Smrg basic_machine=nsr-tandem 942100ae103Smrg ;; 94395cf0c00Smrg nsv-tandem) 94495cf0c00Smrg basic_machine=nsv-tandem 94595cf0c00Smrg ;; 94695cf0c00Smrg nsx-tandem) 94795cf0c00Smrg basic_machine=nsx-tandem 94895cf0c00Smrg ;; 949100ae103Smrg op50n-* | op60c-*) 950100ae103Smrg basic_machine=hppa1.1-oki 951100ae103Smrg os=-proelf 952100ae103Smrg ;; 953100ae103Smrg openrisc | openrisc-*) 954100ae103Smrg basic_machine=or32-unknown 955100ae103Smrg ;; 956100ae103Smrg os400) 957100ae103Smrg basic_machine=powerpc-ibm 958100ae103Smrg os=-os400 959100ae103Smrg ;; 960100ae103Smrg OSE68000 | ose68000) 961100ae103Smrg basic_machine=m68000-ericsson 962100ae103Smrg os=-ose 963100ae103Smrg ;; 964100ae103Smrg os68k) 965100ae103Smrg basic_machine=m68k-none 966100ae103Smrg os=-os68k 967100ae103Smrg ;; 968100ae103Smrg pa-hitachi) 969100ae103Smrg basic_machine=hppa1.1-hitachi 970100ae103Smrg os=-hiuxwe2 971100ae103Smrg ;; 972100ae103Smrg paragon) 973100ae103Smrg basic_machine=i860-intel 974100ae103Smrg os=-osf 975100ae103Smrg ;; 976165cb819Smrg parisc) 977165cb819Smrg basic_machine=hppa-unknown 978165cb819Smrg os=-linux 979165cb819Smrg ;; 980165cb819Smrg parisc-*) 98195cf0c00Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982165cb819Smrg os=-linux 983165cb819Smrg ;; 984100ae103Smrg pbd) 985100ae103Smrg basic_machine=sparc-tti 986100ae103Smrg ;; 987100ae103Smrg pbb) 988100ae103Smrg basic_machine=m68k-tti 989100ae103Smrg ;; 990100ae103Smrg pc532 | pc532-*) 991100ae103Smrg basic_machine=ns32k-pc532 992100ae103Smrg ;; 993165cb819Smrg pc98) 994165cb819Smrg basic_machine=i386-pc 995165cb819Smrg ;; 996165cb819Smrg pc98-*) 99795cf0c00Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 998165cb819Smrg ;; 999100ae103Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000100ae103Smrg basic_machine=i586-pc 1001100ae103Smrg ;; 1002100ae103Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003100ae103Smrg basic_machine=i686-pc 1004100ae103Smrg ;; 1005100ae103Smrg pentiumii | pentium2 | pentiumiii | pentium3) 1006100ae103Smrg basic_machine=i686-pc 1007100ae103Smrg ;; 1008100ae103Smrg pentium4) 1009100ae103Smrg basic_machine=i786-pc 1010100ae103Smrg ;; 1011100ae103Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101295cf0c00Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013100ae103Smrg ;; 1014100ae103Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 101595cf0c00Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016100ae103Smrg ;; 1017100ae103Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101895cf0c00Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019100ae103Smrg ;; 1020100ae103Smrg pentium4-*) 102195cf0c00Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022100ae103Smrg ;; 1023100ae103Smrg pn) 1024100ae103Smrg basic_machine=pn-gould 1025100ae103Smrg ;; 1026100ae103Smrg power) basic_machine=power-ibm 1027100ae103Smrg ;; 10288831d3fbSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1029100ae103Smrg ;; 10308831d3fbSmrg ppc-* | ppcbe-*) 103195cf0c00Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032100ae103Smrg ;; 103395cf0c00Smrg ppcle | powerpclittle) 1034100ae103Smrg basic_machine=powerpcle-unknown 1035100ae103Smrg ;; 1036100ae103Smrg ppcle-* | powerpclittle-*) 103795cf0c00Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038100ae103Smrg ;; 1039100ae103Smrg ppc64) basic_machine=powerpc64-unknown 1040100ae103Smrg ;; 104195cf0c00Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042100ae103Smrg ;; 104395cf0c00Smrg ppc64le | powerpc64little) 1044100ae103Smrg basic_machine=powerpc64le-unknown 1045100ae103Smrg ;; 1046100ae103Smrg ppc64le-* | powerpc64little-*) 104795cf0c00Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048100ae103Smrg ;; 1049100ae103Smrg ps2) 1050100ae103Smrg basic_machine=i386-ibm 1051100ae103Smrg ;; 1052100ae103Smrg pw32) 1053100ae103Smrg basic_machine=i586-unknown 1054100ae103Smrg os=-pw32 1055100ae103Smrg ;; 105695cf0c00Smrg rdos | rdos64) 105795cf0c00Smrg basic_machine=x86_64-pc 105895cf0c00Smrg os=-rdos 105995cf0c00Smrg ;; 106095cf0c00Smrg rdos32) 1061165cb819Smrg basic_machine=i386-pc 1062165cb819Smrg os=-rdos 1063165cb819Smrg ;; 1064100ae103Smrg rom68k) 1065100ae103Smrg basic_machine=m68k-rom68k 1066100ae103Smrg os=-coff 1067100ae103Smrg ;; 1068100ae103Smrg rm[46]00) 1069100ae103Smrg basic_machine=mips-siemens 1070100ae103Smrg ;; 1071100ae103Smrg rtpc | rtpc-*) 1072100ae103Smrg basic_machine=romp-ibm 1073100ae103Smrg ;; 1074100ae103Smrg s390 | s390-*) 1075100ae103Smrg basic_machine=s390-ibm 1076100ae103Smrg ;; 1077100ae103Smrg s390x | s390x-*) 1078100ae103Smrg basic_machine=s390x-ibm 1079100ae103Smrg ;; 1080100ae103Smrg sa29200) 1081100ae103Smrg basic_machine=a29k-amd 1082100ae103Smrg os=-udi 1083100ae103Smrg ;; 1084100ae103Smrg sb1) 1085100ae103Smrg basic_machine=mipsisa64sb1-unknown 1086100ae103Smrg ;; 1087100ae103Smrg sb1el) 1088100ae103Smrg basic_machine=mipsisa64sb1el-unknown 1089100ae103Smrg ;; 1090165cb819Smrg sde) 1091165cb819Smrg basic_machine=mipsisa32-sde 1092165cb819Smrg os=-elf 1093165cb819Smrg ;; 1094100ae103Smrg sei) 1095100ae103Smrg basic_machine=mips-sei 1096100ae103Smrg os=-seiux 1097100ae103Smrg ;; 1098100ae103Smrg sequent) 1099100ae103Smrg basic_machine=i386-sequent 1100100ae103Smrg ;; 1101165cb819Smrg sh5el) 1102165cb819Smrg basic_machine=sh5le-unknown 1103165cb819Smrg ;; 110495cf0c00Smrg simso-wrs) 1105100ae103Smrg basic_machine=sparclite-wrs 1106100ae103Smrg os=-vxworks 1107100ae103Smrg ;; 1108100ae103Smrg sps7) 1109100ae103Smrg basic_machine=m68k-bull 1110100ae103Smrg os=-sysv2 1111100ae103Smrg ;; 1112100ae103Smrg spur) 1113100ae103Smrg basic_machine=spur-unknown 1114100ae103Smrg ;; 1115100ae103Smrg st2000) 1116100ae103Smrg basic_machine=m68k-tandem 1117100ae103Smrg ;; 1118100ae103Smrg stratus) 1119100ae103Smrg basic_machine=i860-stratus 1120100ae103Smrg os=-sysv4 1121100ae103Smrg ;; 11228831d3fbSmrg strongarm-* | thumb-*) 112395cf0c00Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11248831d3fbSmrg ;; 1125100ae103Smrg sun2) 1126100ae103Smrg basic_machine=m68000-sun 1127100ae103Smrg ;; 1128100ae103Smrg sun2os3) 1129100ae103Smrg basic_machine=m68000-sun 1130100ae103Smrg os=-sunos3 1131100ae103Smrg ;; 1132100ae103Smrg sun2os4) 1133100ae103Smrg basic_machine=m68000-sun 1134100ae103Smrg os=-sunos4 1135100ae103Smrg ;; 1136100ae103Smrg sun3os3) 1137100ae103Smrg basic_machine=m68k-sun 1138100ae103Smrg os=-sunos3 1139100ae103Smrg ;; 1140100ae103Smrg sun3os4) 1141100ae103Smrg basic_machine=m68k-sun 1142100ae103Smrg os=-sunos4 1143100ae103Smrg ;; 1144100ae103Smrg sun4os3) 1145100ae103Smrg basic_machine=sparc-sun 1146100ae103Smrg os=-sunos3 1147100ae103Smrg ;; 1148100ae103Smrg sun4os4) 1149100ae103Smrg basic_machine=sparc-sun 1150100ae103Smrg os=-sunos4 1151100ae103Smrg ;; 1152100ae103Smrg sun4sol2) 1153100ae103Smrg basic_machine=sparc-sun 1154100ae103Smrg os=-solaris2 1155100ae103Smrg ;; 1156100ae103Smrg sun3 | sun3-*) 1157100ae103Smrg basic_machine=m68k-sun 1158100ae103Smrg ;; 1159100ae103Smrg sun4) 1160100ae103Smrg basic_machine=sparc-sun 1161100ae103Smrg ;; 1162100ae103Smrg sun386 | sun386i | roadrunner) 1163100ae103Smrg basic_machine=i386-sun 1164100ae103Smrg ;; 1165100ae103Smrg sv1) 1166100ae103Smrg basic_machine=sv1-cray 1167100ae103Smrg os=-unicos 1168100ae103Smrg ;; 1169100ae103Smrg symmetry) 1170100ae103Smrg basic_machine=i386-sequent 1171100ae103Smrg os=-dynix 1172100ae103Smrg ;; 1173100ae103Smrg t3e) 1174100ae103Smrg basic_machine=alphaev5-cray 1175100ae103Smrg os=-unicos 1176100ae103Smrg ;; 1177100ae103Smrg t90) 1178100ae103Smrg basic_machine=t90-cray 1179100ae103Smrg os=-unicos 1180100ae103Smrg ;; 1181165cb819Smrg tile*) 11828831d3fbSmrg basic_machine=$basic_machine-unknown 1183165cb819Smrg os=-linux-gnu 1184165cb819Smrg ;; 1185100ae103Smrg tx39) 1186100ae103Smrg basic_machine=mipstx39-unknown 1187100ae103Smrg ;; 1188100ae103Smrg tx39el) 1189100ae103Smrg basic_machine=mipstx39el-unknown 1190100ae103Smrg ;; 1191100ae103Smrg toad1) 1192100ae103Smrg basic_machine=pdp10-xkl 1193100ae103Smrg os=-tops20 1194100ae103Smrg ;; 1195100ae103Smrg tower | tower-32) 1196100ae103Smrg basic_machine=m68k-ncr 1197100ae103Smrg ;; 1198100ae103Smrg tpf) 1199100ae103Smrg basic_machine=s390x-ibm 1200100ae103Smrg os=-tpf 1201100ae103Smrg ;; 1202100ae103Smrg udi29k) 1203100ae103Smrg basic_machine=a29k-amd 1204100ae103Smrg os=-udi 1205100ae103Smrg ;; 1206100ae103Smrg ultra3) 1207100ae103Smrg basic_machine=a29k-nyu 1208100ae103Smrg os=-sym1 1209100ae103Smrg ;; 1210100ae103Smrg v810 | necv810) 1211100ae103Smrg basic_machine=v810-nec 1212100ae103Smrg os=-none 1213100ae103Smrg ;; 1214100ae103Smrg vaxv) 1215100ae103Smrg basic_machine=vax-dec 1216100ae103Smrg os=-sysv 1217100ae103Smrg ;; 1218100ae103Smrg vms) 1219100ae103Smrg basic_machine=vax-dec 1220100ae103Smrg os=-vms 1221100ae103Smrg ;; 1222100ae103Smrg vpp*|vx|vx-*) 1223100ae103Smrg basic_machine=f301-fujitsu 1224100ae103Smrg ;; 1225100ae103Smrg vxworks960) 1226100ae103Smrg basic_machine=i960-wrs 1227100ae103Smrg os=-vxworks 1228100ae103Smrg ;; 1229100ae103Smrg vxworks68) 1230100ae103Smrg basic_machine=m68k-wrs 1231100ae103Smrg os=-vxworks 1232100ae103Smrg ;; 1233100ae103Smrg vxworks29k) 1234100ae103Smrg basic_machine=a29k-wrs 1235100ae103Smrg os=-vxworks 1236100ae103Smrg ;; 1237100ae103Smrg w65*) 1238100ae103Smrg basic_machine=w65-wdc 1239100ae103Smrg os=-none 1240100ae103Smrg ;; 1241100ae103Smrg w89k-*) 1242100ae103Smrg basic_machine=hppa1.1-winbond 1243100ae103Smrg os=-proelf 1244100ae103Smrg ;; 124595cf0c00Smrg x64) 124695cf0c00Smrg basic_machine=x86_64-pc 124795cf0c00Smrg ;; 1248100ae103Smrg xbox) 1249100ae103Smrg basic_machine=i686-pc 1250100ae103Smrg os=-mingw32 1251100ae103Smrg ;; 1252100ae103Smrg xps | xps100) 1253100ae103Smrg basic_machine=xps100-honeywell 1254100ae103Smrg ;; 12558831d3fbSmrg xscale-* | xscalee[bl]-*) 125695cf0c00Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12578831d3fbSmrg ;; 1258100ae103Smrg ymp) 1259100ae103Smrg basic_machine=ymp-cray 1260100ae103Smrg os=-unicos 1261100ae103Smrg ;; 1262100ae103Smrg none) 1263100ae103Smrg basic_machine=none-none 1264100ae103Smrg os=-none 1265100ae103Smrg ;; 1266100ae103Smrg 1267100ae103Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1268100ae103Smrg# some cases the only manufacturer, in others, it is the most popular. 1269100ae103Smrg w89k) 1270100ae103Smrg basic_machine=hppa1.1-winbond 1271100ae103Smrg ;; 1272100ae103Smrg op50n) 1273100ae103Smrg basic_machine=hppa1.1-oki 1274100ae103Smrg ;; 1275100ae103Smrg op60c) 1276100ae103Smrg basic_machine=hppa1.1-oki 1277100ae103Smrg ;; 1278100ae103Smrg romp) 1279100ae103Smrg basic_machine=romp-ibm 1280100ae103Smrg ;; 1281100ae103Smrg mmix) 1282100ae103Smrg basic_machine=mmix-knuth 1283100ae103Smrg ;; 1284100ae103Smrg rs6000) 1285100ae103Smrg basic_machine=rs6000-ibm 1286100ae103Smrg ;; 1287100ae103Smrg vax) 1288100ae103Smrg basic_machine=vax-dec 1289100ae103Smrg ;; 1290100ae103Smrg pdp11) 1291100ae103Smrg basic_machine=pdp11-dec 1292100ae103Smrg ;; 1293100ae103Smrg we32k) 1294100ae103Smrg basic_machine=we32k-att 1295100ae103Smrg ;; 1296165cb819Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297100ae103Smrg basic_machine=sh-unknown 1298100ae103Smrg ;; 1299100ae103Smrg cydra) 1300100ae103Smrg basic_machine=cydra-cydrome 1301100ae103Smrg ;; 1302100ae103Smrg orion) 1303100ae103Smrg basic_machine=orion-highlevel 1304100ae103Smrg ;; 1305100ae103Smrg orion105) 1306100ae103Smrg basic_machine=clipper-highlevel 1307100ae103Smrg ;; 1308100ae103Smrg mac | mpw | mac-mpw) 1309100ae103Smrg basic_machine=m68k-apple 1310100ae103Smrg ;; 1311100ae103Smrg pmac | pmac-mpw) 1312100ae103Smrg basic_machine=powerpc-apple 1313100ae103Smrg ;; 1314100ae103Smrg *-unknown) 1315100ae103Smrg # Make sure to match an already-canonicalized machine name. 1316100ae103Smrg ;; 1317100ae103Smrg *) 131895cf0c00Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319100ae103Smrg exit 1 1320100ae103Smrg ;; 1321100ae103Smrgesac 1322100ae103Smrg 1323100ae103Smrg# Here we canonicalize certain aliases for manufacturers. 1324100ae103Smrgcase $basic_machine in 1325100ae103Smrg *-digital*) 132695cf0c00Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327100ae103Smrg ;; 1328100ae103Smrg *-commodore*) 132995cf0c00Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330100ae103Smrg ;; 1331100ae103Smrg *) 1332100ae103Smrg ;; 1333100ae103Smrgesac 1334100ae103Smrg 1335100ae103Smrg# Decode manufacturer-specific aliases for certain operating systems. 1336100ae103Smrg 1337100ae103Smrgif [ x"$os" != x"" ] 1338100ae103Smrgthen 1339100ae103Smrgcase $os in 134095cf0c00Smrg # First match some system type aliases that might get confused 134195cf0c00Smrg # with valid system types. 1342100ae103Smrg # -solaris* is a basic system type, with this one exception. 13438831d3fbSmrg -auroraux) 13448831d3fbSmrg os=-auroraux 1345165cb819Smrg ;; 1346100ae103Smrg -solaris1 | -solaris1.*) 1347100ae103Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348100ae103Smrg ;; 1349100ae103Smrg -solaris) 1350100ae103Smrg os=-solaris2 1351100ae103Smrg ;; 1352100ae103Smrg -unixware*) 1353100ae103Smrg os=-sysv4.2uw 1354100ae103Smrg ;; 1355100ae103Smrg -gnu/linux*) 1356100ae103Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357100ae103Smrg ;; 135895cf0c00Smrg # es1800 is here to avoid being matched by es* (a different OS) 135995cf0c00Smrg -es1800*) 136095cf0c00Smrg os=-ose 136195cf0c00Smrg ;; 136295cf0c00Smrg # Now accept the basic system types. 1363100ae103Smrg # The portable systems comes first. 136495cf0c00Smrg # Each alternative MUST end in a * to match a version number. 1365100ae103Smrg # -sysv* is not here because it comes later, after sysvr4. 1366100ae103Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367165cb819Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368165cb819Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136995cf0c00Smrg | -sym* | -kopensolaris* | -plan9* \ 1370100ae103Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137195cf0c00Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372100ae103Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373100ae103Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 137495cf0c00Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 137595cf0c00Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1376100ae103Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1377100ae103Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378100ae103Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 137995cf0c00Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 138095cf0c00Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13818831d3fbSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 138295cf0c00Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138395cf0c00Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138495cf0c00Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 138595cf0c00Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386100ae103Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387100ae103Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388100ae103Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 138995cf0c00Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 1390100ae103Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 139195cf0c00Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 139295cf0c00Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 139395cf0c00Smrg | -midnightbsd*) 1394100ae103Smrg # Remember, each alternative MUST END IN *, to match a version number. 1395100ae103Smrg ;; 1396100ae103Smrg -qnx*) 1397100ae103Smrg case $basic_machine in 1398100ae103Smrg x86-* | i*86-*) 1399100ae103Smrg ;; 1400100ae103Smrg *) 1401100ae103Smrg os=-nto$os 1402100ae103Smrg ;; 1403100ae103Smrg esac 1404100ae103Smrg ;; 1405100ae103Smrg -nto-qnx*) 1406100ae103Smrg ;; 1407100ae103Smrg -nto*) 1408100ae103Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409100ae103Smrg ;; 141095cf0c00Smrg -sim | -xray | -os68k* | -v88r* \ 141195cf0c00Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412100ae103Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413100ae103Smrg ;; 1414100ae103Smrg -mac*) 141595cf0c00Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416100ae103Smrg ;; 1417100ae103Smrg -linux-dietlibc) 1418100ae103Smrg os=-linux-dietlibc 1419100ae103Smrg ;; 1420100ae103Smrg -linux*) 1421100ae103Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422100ae103Smrg ;; 1423100ae103Smrg -sunos5*) 142495cf0c00Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425100ae103Smrg ;; 1426100ae103Smrg -sunos6*) 142795cf0c00Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428100ae103Smrg ;; 1429100ae103Smrg -opened*) 1430100ae103Smrg os=-openedition 1431100ae103Smrg ;; 14328831d3fbSmrg -os400*) 1433100ae103Smrg os=-os400 1434100ae103Smrg ;; 1435100ae103Smrg -wince*) 1436100ae103Smrg os=-wince 1437100ae103Smrg ;; 1438100ae103Smrg -utek*) 1439100ae103Smrg os=-bsd 1440100ae103Smrg ;; 1441100ae103Smrg -dynix*) 1442100ae103Smrg os=-bsd 1443100ae103Smrg ;; 1444100ae103Smrg -acis*) 1445100ae103Smrg os=-aos 1446100ae103Smrg ;; 1447100ae103Smrg -atheos*) 1448100ae103Smrg os=-atheos 1449100ae103Smrg ;; 1450100ae103Smrg -syllable*) 1451100ae103Smrg os=-syllable 1452100ae103Smrg ;; 1453100ae103Smrg -386bsd) 1454100ae103Smrg os=-bsd 1455100ae103Smrg ;; 1456100ae103Smrg -ctix* | -uts*) 1457100ae103Smrg os=-sysv 1458100ae103Smrg ;; 1459100ae103Smrg -nova*) 1460100ae103Smrg os=-rtmk-nova 1461100ae103Smrg ;; 146295cf0c00Smrg -ns2) 1463100ae103Smrg os=-nextstep2 1464100ae103Smrg ;; 1465100ae103Smrg -nsk*) 1466100ae103Smrg os=-nsk 1467100ae103Smrg ;; 1468100ae103Smrg # Preserve the version number of sinix5. 1469100ae103Smrg -sinix5.*) 1470100ae103Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471100ae103Smrg ;; 1472100ae103Smrg -sinix*) 1473100ae103Smrg os=-sysv4 1474100ae103Smrg ;; 14758831d3fbSmrg -tpf*) 1476100ae103Smrg os=-tpf 1477100ae103Smrg ;; 1478100ae103Smrg -triton*) 1479100ae103Smrg os=-sysv3 1480100ae103Smrg ;; 1481100ae103Smrg -oss*) 1482100ae103Smrg os=-sysv3 1483100ae103Smrg ;; 148495cf0c00Smrg -svr4*) 1485100ae103Smrg os=-sysv4 1486100ae103Smrg ;; 1487100ae103Smrg -svr3) 1488100ae103Smrg os=-sysv3 1489100ae103Smrg ;; 1490100ae103Smrg -sysvr4) 1491100ae103Smrg os=-sysv4 1492100ae103Smrg ;; 1493100ae103Smrg # This must come after -sysvr4. 1494100ae103Smrg -sysv*) 1495100ae103Smrg ;; 1496100ae103Smrg -ose*) 1497100ae103Smrg os=-ose 1498100ae103Smrg ;; 1499100ae103Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500100ae103Smrg os=-mint 1501100ae103Smrg ;; 1502100ae103Smrg -zvmoe) 1503100ae103Smrg os=-zvmoe 1504100ae103Smrg ;; 1505165cb819Smrg -dicos*) 1506165cb819Smrg os=-dicos 1507165cb819Smrg ;; 150895cf0c00Smrg -pikeos*) 150995cf0c00Smrg # Until real need of OS specific support for 151095cf0c00Smrg # particular features comes up, bare metal 151195cf0c00Smrg # configurations are quite functional. 151295cf0c00Smrg case $basic_machine in 151395cf0c00Smrg arm*) 151495cf0c00Smrg os=-eabi 151595cf0c00Smrg ;; 151695cf0c00Smrg *) 151795cf0c00Smrg os=-elf 151895cf0c00Smrg ;; 151995cf0c00Smrg esac 152095cf0c00Smrg ;; 15218831d3fbSmrg -nacl*) 15228831d3fbSmrg ;; 152395cf0c00Smrg -ios) 152495cf0c00Smrg ;; 1525100ae103Smrg -none) 1526100ae103Smrg ;; 1527100ae103Smrg *) 1528100ae103Smrg # Get rid of the `-' at the beginning of $os. 1529100ae103Smrg os=`echo $os | sed 's/[^-]*-//'` 153095cf0c00Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531100ae103Smrg exit 1 1532100ae103Smrg ;; 1533100ae103Smrgesac 1534100ae103Smrgelse 1535100ae103Smrg 1536100ae103Smrg# Here we handle the default operating systems that come with various machines. 1537100ae103Smrg# The value should be what the vendor currently ships out the door with their 1538100ae103Smrg# machine or put another way, the most popular os provided with the machine. 1539100ae103Smrg 1540100ae103Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541100ae103Smrg# "-sun"), then you have to tell the case statement up towards the top 1542100ae103Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543100ae103Smrg# will signal an error saying that MANUFACTURER isn't an operating 1544100ae103Smrg# system, and we'll never get to this point. 1545100ae103Smrg 1546100ae103Smrgcase $basic_machine in 15478831d3fbSmrg score-*) 1548165cb819Smrg os=-elf 1549165cb819Smrg ;; 15508831d3fbSmrg spu-*) 1551165cb819Smrg os=-elf 1552165cb819Smrg ;; 1553100ae103Smrg *-acorn) 1554100ae103Smrg os=-riscix1.2 1555100ae103Smrg ;; 1556100ae103Smrg arm*-rebel) 1557100ae103Smrg os=-linux 1558100ae103Smrg ;; 1559100ae103Smrg arm*-semi) 1560100ae103Smrg os=-aout 1561100ae103Smrg ;; 15628831d3fbSmrg c4x-* | tic4x-*) 15638831d3fbSmrg os=-coff 15648831d3fbSmrg ;; 156595cf0c00Smrg c8051-*) 156695cf0c00Smrg os=-elf 156795cf0c00Smrg ;; 156895cf0c00Smrg hexagon-*) 156995cf0c00Smrg os=-elf 157095cf0c00Smrg ;; 15718831d3fbSmrg tic54x-*) 15728831d3fbSmrg os=-coff 15738831d3fbSmrg ;; 15748831d3fbSmrg tic55x-*) 15758831d3fbSmrg os=-coff 15768831d3fbSmrg ;; 15778831d3fbSmrg tic6x-*) 15788831d3fbSmrg os=-coff 1579165cb819Smrg ;; 1580100ae103Smrg # This must come before the *-dec entry. 1581100ae103Smrg pdp10-*) 1582100ae103Smrg os=-tops20 1583100ae103Smrg ;; 1584100ae103Smrg pdp11-*) 1585100ae103Smrg os=-none 1586100ae103Smrg ;; 1587100ae103Smrg *-dec | vax-*) 1588100ae103Smrg os=-ultrix4.2 1589100ae103Smrg ;; 1590100ae103Smrg m68*-apollo) 1591100ae103Smrg os=-domain 1592100ae103Smrg ;; 1593100ae103Smrg i386-sun) 1594100ae103Smrg os=-sunos4.0.2 1595100ae103Smrg ;; 1596100ae103Smrg m68000-sun) 1597100ae103Smrg os=-sunos3 1598100ae103Smrg ;; 1599100ae103Smrg m68*-cisco) 1600100ae103Smrg os=-aout 1601100ae103Smrg ;; 16028831d3fbSmrg mep-*) 1603165cb819Smrg os=-elf 1604165cb819Smrg ;; 1605100ae103Smrg mips*-cisco) 1606100ae103Smrg os=-elf 1607100ae103Smrg ;; 1608100ae103Smrg mips*-*) 1609100ae103Smrg os=-elf 1610100ae103Smrg ;; 1611100ae103Smrg or32-*) 1612100ae103Smrg os=-coff 1613100ae103Smrg ;; 1614100ae103Smrg *-tti) # must be before sparc entry or we get the wrong os. 1615100ae103Smrg os=-sysv3 1616100ae103Smrg ;; 1617100ae103Smrg sparc-* | *-sun) 1618100ae103Smrg os=-sunos4.1.1 1619100ae103Smrg ;; 162095cf0c00Smrg pru-*) 162195cf0c00Smrg os=-elf 162295cf0c00Smrg ;; 1623100ae103Smrg *-be) 1624100ae103Smrg os=-beos 1625100ae103Smrg ;; 1626100ae103Smrg *-ibm) 1627100ae103Smrg os=-aix 1628100ae103Smrg ;; 16298831d3fbSmrg *-knuth) 1630100ae103Smrg os=-mmixware 1631100ae103Smrg ;; 1632100ae103Smrg *-wec) 1633100ae103Smrg os=-proelf 1634100ae103Smrg ;; 1635100ae103Smrg *-winbond) 1636100ae103Smrg os=-proelf 1637100ae103Smrg ;; 1638100ae103Smrg *-oki) 1639100ae103Smrg os=-proelf 1640100ae103Smrg ;; 1641100ae103Smrg *-hp) 1642100ae103Smrg os=-hpux 1643100ae103Smrg ;; 1644100ae103Smrg *-hitachi) 1645100ae103Smrg os=-hiux 1646100ae103Smrg ;; 1647100ae103Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648100ae103Smrg os=-sysv 1649100ae103Smrg ;; 1650100ae103Smrg *-cbm) 1651100ae103Smrg os=-amigaos 1652100ae103Smrg ;; 1653100ae103Smrg *-dg) 1654100ae103Smrg os=-dgux 1655100ae103Smrg ;; 1656100ae103Smrg *-dolphin) 1657100ae103Smrg os=-sysv3 1658100ae103Smrg ;; 1659100ae103Smrg m68k-ccur) 1660100ae103Smrg os=-rtu 1661100ae103Smrg ;; 1662100ae103Smrg m88k-omron*) 1663100ae103Smrg os=-luna 1664100ae103Smrg ;; 166595cf0c00Smrg *-next) 1666100ae103Smrg os=-nextstep 1667100ae103Smrg ;; 1668100ae103Smrg *-sequent) 1669100ae103Smrg os=-ptx 1670100ae103Smrg ;; 1671100ae103Smrg *-crds) 1672100ae103Smrg os=-unos 1673100ae103Smrg ;; 1674100ae103Smrg *-ns) 1675100ae103Smrg os=-genix 1676100ae103Smrg ;; 1677100ae103Smrg i370-*) 1678100ae103Smrg os=-mvs 1679100ae103Smrg ;; 1680100ae103Smrg *-gould) 1681100ae103Smrg os=-sysv 1682100ae103Smrg ;; 1683100ae103Smrg *-highlevel) 1684100ae103Smrg os=-bsd 1685100ae103Smrg ;; 1686100ae103Smrg *-encore) 1687100ae103Smrg os=-bsd 1688100ae103Smrg ;; 1689100ae103Smrg *-sgi) 1690100ae103Smrg os=-irix 1691100ae103Smrg ;; 1692100ae103Smrg *-siemens) 1693100ae103Smrg os=-sysv4 1694100ae103Smrg ;; 1695100ae103Smrg *-masscomp) 1696100ae103Smrg os=-rtu 1697100ae103Smrg ;; 1698100ae103Smrg f30[01]-fujitsu | f700-fujitsu) 1699100ae103Smrg os=-uxpv 1700100ae103Smrg ;; 1701100ae103Smrg *-rom68k) 1702100ae103Smrg os=-coff 1703100ae103Smrg ;; 1704100ae103Smrg *-*bug) 1705100ae103Smrg os=-coff 1706100ae103Smrg ;; 1707100ae103Smrg *-apple) 1708100ae103Smrg os=-macos 1709100ae103Smrg ;; 1710100ae103Smrg *-atari*) 1711100ae103Smrg os=-mint 1712100ae103Smrg ;; 1713100ae103Smrg *) 1714100ae103Smrg os=-none 1715100ae103Smrg ;; 1716100ae103Smrgesac 1717100ae103Smrgfi 1718100ae103Smrg 1719100ae103Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1720100ae103Smrg# manufacturer. We pick the logical manufacturer. 1721100ae103Smrgvendor=unknown 1722100ae103Smrgcase $basic_machine in 1723100ae103Smrg *-unknown) 1724100ae103Smrg case $os in 1725100ae103Smrg -riscix*) 1726100ae103Smrg vendor=acorn 1727100ae103Smrg ;; 1728100ae103Smrg -sunos*) 1729100ae103Smrg vendor=sun 1730100ae103Smrg ;; 1731165cb819Smrg -cnk*|-aix*) 1732100ae103Smrg vendor=ibm 1733100ae103Smrg ;; 1734100ae103Smrg -beos*) 1735100ae103Smrg vendor=be 1736100ae103Smrg ;; 1737100ae103Smrg -hpux*) 1738100ae103Smrg vendor=hp 1739100ae103Smrg ;; 1740100ae103Smrg -mpeix*) 1741100ae103Smrg vendor=hp 1742100ae103Smrg ;; 1743100ae103Smrg -hiux*) 1744100ae103Smrg vendor=hitachi 1745100ae103Smrg ;; 1746100ae103Smrg -unos*) 1747100ae103Smrg vendor=crds 1748100ae103Smrg ;; 1749100ae103Smrg -dgux*) 1750100ae103Smrg vendor=dg 1751100ae103Smrg ;; 1752100ae103Smrg -luna*) 1753100ae103Smrg vendor=omron 1754100ae103Smrg ;; 1755100ae103Smrg -genix*) 1756100ae103Smrg vendor=ns 1757100ae103Smrg ;; 1758100ae103Smrg -mvs* | -opened*) 1759100ae103Smrg vendor=ibm 1760100ae103Smrg ;; 1761100ae103Smrg -os400*) 1762100ae103Smrg vendor=ibm 1763100ae103Smrg ;; 1764100ae103Smrg -ptx*) 1765100ae103Smrg vendor=sequent 1766100ae103Smrg ;; 1767100ae103Smrg -tpf*) 1768100ae103Smrg vendor=ibm 1769100ae103Smrg ;; 1770100ae103Smrg -vxsim* | -vxworks* | -windiss*) 1771100ae103Smrg vendor=wrs 1772100ae103Smrg ;; 1773100ae103Smrg -aux*) 1774100ae103Smrg vendor=apple 1775100ae103Smrg ;; 1776100ae103Smrg -hms*) 1777100ae103Smrg vendor=hitachi 1778100ae103Smrg ;; 1779100ae103Smrg -mpw* | -macos*) 1780100ae103Smrg vendor=apple 1781100ae103Smrg ;; 1782100ae103Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783100ae103Smrg vendor=atari 1784100ae103Smrg ;; 1785100ae103Smrg -vos*) 1786100ae103Smrg vendor=stratus 1787100ae103Smrg ;; 1788100ae103Smrg esac 178995cf0c00Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790100ae103Smrg ;; 1791100ae103Smrgesac 1792100ae103Smrg 179395cf0c00Smrgecho "$basic_machine$os" 1794100ae103Smrgexit 1795100ae103Smrg 1796100ae103Smrg# Local variables: 179795cf0c00Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798100ae103Smrg# time-stamp-start: "timestamp='" 1799100ae103Smrg# time-stamp-format: "%:y-%02m-%02d" 1800100ae103Smrg# time-stamp-end: "'" 1801100ae103Smrg# End: 1802