13965be93Schristos#! /bin/sh 23965be93Schristos# Configuration validation subroutine script. 3*07146da4Schristos# Copyright 1992-2017 Free Software Foundation, Inc. 43965be93Schristos 5*07146da4Schristostimestamp='2017-01-01' 63965be93Schristos 73965be93Schristos# This file is free software; you can redistribute it and/or modify it 83965be93Schristos# under the terms of the GNU General Public License as published by 93965be93Schristos# the Free Software Foundation; either version 3 of the License, or 103965be93Schristos# (at your option) any later version. 113965be93Schristos# 123965be93Schristos# This program is distributed in the hope that it will be useful, but 133965be93Schristos# WITHOUT ANY WARRANTY; without even the implied warranty of 143965be93Schristos# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 153965be93Schristos# General Public License for more details. 163965be93Schristos# 173965be93Schristos# You should have received a copy of the GNU General Public License 183965be93Schristos# along with this program; if not, see <http://www.gnu.org/licenses/>. 193965be93Schristos# 203965be93Schristos# As a special exception to the GNU General Public License, if you 213965be93Schristos# distribute this file as part of a program that contains a 223965be93Schristos# configuration script generated by Autoconf, you may include it under 233965be93Schristos# the same distribution terms that you use for the rest of that 243965be93Schristos# program. This Exception is an additional permission under section 7 253965be93Schristos# of the GNU General Public License, version 3 ("GPLv3"). 263965be93Schristos 273965be93Schristos 28*07146da4Schristos# Please send patches to <config-patches@gnu.org>. 293965be93Schristos# 303965be93Schristos# Configuration subroutine to validate and canonicalize a configuration type. 313965be93Schristos# Supply the specified configuration type as an argument. 323965be93Schristos# If it is invalid, we print an error message on stderr and exit with code 1. 333965be93Schristos# Otherwise, we print the canonical config type on stdout and succeed. 343965be93Schristos 353965be93Schristos# You can get the latest version of this script from: 36*07146da4Schristos# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 373965be93Schristos 383965be93Schristos# This file is supposed to be the same for all GNU packages 393965be93Schristos# and recognize all the CPU types, system types and aliases 403965be93Schristos# that are meaningful with *any* GNU software. 413965be93Schristos# Each package is responsible for reporting which valid configurations 423965be93Schristos# it does not support. The user should be able to distinguish 433965be93Schristos# a failure to support a valid configuration from a meaningless 443965be93Schristos# configuration. 453965be93Schristos 463965be93Schristos# The goal of this file is to map all the various variations of a given 473965be93Schristos# machine specification into a single specification in the form: 483965be93Schristos# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 493965be93Schristos# or in some cases, the newer four-part form: 503965be93Schristos# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 513965be93Schristos# It is wrong to echo any other type of specification. 523965be93Schristos 533965be93Schristosme=`echo "$0" | sed -e 's,.*/,,'` 543965be93Schristos 553965be93Schristosusage="\ 56*07146da4SchristosUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 573965be93Schristos 583965be93SchristosCanonicalize a configuration name. 593965be93Schristos 603965be93SchristosOperation modes: 613965be93Schristos -h, --help print this help, then exit 623965be93Schristos -t, --time-stamp print date of last modification, then exit 633965be93Schristos -v, --version print version number, then exit 643965be93Schristos 653965be93SchristosReport bugs and patches to <config-patches@gnu.org>." 663965be93Schristos 673965be93Schristosversion="\ 683965be93SchristosGNU config.sub ($timestamp) 693965be93Schristos 70*07146da4SchristosCopyright 1992-2017 Free Software Foundation, Inc. 713965be93Schristos 723965be93SchristosThis is free software; see the source for copying conditions. There is NO 733965be93Schristoswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 743965be93Schristos 753965be93Schristoshelp=" 763965be93SchristosTry \`$me --help' for more information." 773965be93Schristos 783965be93Schristos# Parse command line 793965be93Schristoswhile test $# -gt 0 ; do 803965be93Schristos case $1 in 813965be93Schristos --time-stamp | --time* | -t ) 823965be93Schristos echo "$timestamp" ; exit ;; 833965be93Schristos --version | -v ) 843965be93Schristos echo "$version" ; exit ;; 853965be93Schristos --help | --h* | -h ) 863965be93Schristos echo "$usage"; exit ;; 873965be93Schristos -- ) # Stop option processing 883965be93Schristos shift; break ;; 893965be93Schristos - ) # Use stdin as input. 903965be93Schristos break ;; 913965be93Schristos -* ) 923965be93Schristos echo "$me: invalid option $1$help" 933965be93Schristos exit 1 ;; 943965be93Schristos 953965be93Schristos *local*) 963965be93Schristos # First pass through any local machine types. 973965be93Schristos echo $1 983965be93Schristos exit ;; 993965be93Schristos 1003965be93Schristos * ) 1013965be93Schristos break ;; 1023965be93Schristos esac 1033965be93Schristosdone 1043965be93Schristos 1053965be93Schristoscase $# in 1063965be93Schristos 0) echo "$me: missing argument$help" >&2 1073965be93Schristos exit 1;; 1083965be93Schristos 1) ;; 1093965be93Schristos *) echo "$me: too many arguments$help" >&2 1103965be93Schristos exit 1;; 1113965be93Schristosesac 1123965be93Schristos 1133965be93Schristos# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1143965be93Schristos# Here we must recognize all the valid KERNEL-OS combinations. 1153965be93Schristosmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1163965be93Schristoscase $maybe_os in 1173965be93Schristos nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1183965be93Schristos linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 119*07146da4Schristos knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120*07146da4Schristos kopensolaris*-gnu* | cloudabi*-eabi* | \ 1213965be93Schristos storm-chaos* | os2-emx* | rtmk-nova*) 1223965be93Schristos os=-$maybe_os 1233965be93Schristos basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1243965be93Schristos ;; 1253965be93Schristos android-linux) 1263965be93Schristos os=-linux-android 1273965be93Schristos basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1283965be93Schristos ;; 1293965be93Schristos *) 1303965be93Schristos basic_machine=`echo $1 | sed 's/-[^-]*$//'` 1313965be93Schristos if [ $basic_machine != $1 ] 1323965be93Schristos then os=`echo $1 | sed 's/.*-/-/'` 1333965be93Schristos else os=; fi 1343965be93Schristos ;; 1353965be93Schristosesac 1363965be93Schristos 1373965be93Schristos### Let's recognize common machines as not being operating systems so 1383965be93Schristos### that things like config.sub decstation-3100 work. We also 1393965be93Schristos### recognize some manufacturers as not being operating systems, so we 1403965be93Schristos### can provide default operating systems below. 1413965be93Schristoscase $os in 1423965be93Schristos -sun*os*) 1433965be93Schristos # Prevent following clause from handling this invalid input. 1443965be93Schristos ;; 1453965be93Schristos -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1463965be93Schristos -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1473965be93Schristos -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1483965be93Schristos -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1493965be93Schristos -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1503965be93Schristos -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1513965be93Schristos -apple | -axis | -knuth | -cray | -microblaze*) 1523965be93Schristos os= 1533965be93Schristos basic_machine=$1 1543965be93Schristos ;; 1553965be93Schristos -bluegene*) 1563965be93Schristos os=-cnk 1573965be93Schristos ;; 1583965be93Schristos -sim | -cisco | -oki | -wec | -winbond) 1593965be93Schristos os= 1603965be93Schristos basic_machine=$1 1613965be93Schristos ;; 1623965be93Schristos -scout) 1633965be93Schristos ;; 1643965be93Schristos -wrs) 1653965be93Schristos os=-vxworks 1663965be93Schristos basic_machine=$1 1673965be93Schristos ;; 1683965be93Schristos -chorusos*) 1693965be93Schristos os=-chorusos 1703965be93Schristos basic_machine=$1 1713965be93Schristos ;; 1723965be93Schristos -chorusrdb) 1733965be93Schristos os=-chorusrdb 1743965be93Schristos basic_machine=$1 1753965be93Schristos ;; 1763965be93Schristos -hiux*) 1773965be93Schristos os=-hiuxwe2 1783965be93Schristos ;; 1793965be93Schristos -sco6) 1803965be93Schristos os=-sco5v6 1813965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1823965be93Schristos ;; 1833965be93Schristos -sco5) 1843965be93Schristos os=-sco3.2v5 1853965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1863965be93Schristos ;; 1873965be93Schristos -sco4) 1883965be93Schristos os=-sco3.2v4 1893965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1903965be93Schristos ;; 1913965be93Schristos -sco3.2.[4-9]*) 1923965be93Schristos os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1933965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1943965be93Schristos ;; 1953965be93Schristos -sco3.2v[4-9]*) 1963965be93Schristos # Don't forget version if it is 3.2v4 or newer. 1973965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1983965be93Schristos ;; 1993965be93Schristos -sco5v6*) 2003965be93Schristos # Don't forget version if it is 3.2v4 or newer. 2013965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2023965be93Schristos ;; 2033965be93Schristos -sco*) 2043965be93Schristos os=-sco3.2v2 2053965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2063965be93Schristos ;; 2073965be93Schristos -udk*) 2083965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2093965be93Schristos ;; 2103965be93Schristos -isc) 2113965be93Schristos os=-isc2.2 2123965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2133965be93Schristos ;; 2143965be93Schristos -clix*) 2153965be93Schristos basic_machine=clipper-intergraph 2163965be93Schristos ;; 2173965be93Schristos -isc*) 2183965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2193965be93Schristos ;; 2203965be93Schristos -lynx*178) 2213965be93Schristos os=-lynxos178 2223965be93Schristos ;; 2233965be93Schristos -lynx*5) 2243965be93Schristos os=-lynxos5 2253965be93Schristos ;; 2263965be93Schristos -lynx*) 2273965be93Schristos os=-lynxos 2283965be93Schristos ;; 2293965be93Schristos -ptx*) 2303965be93Schristos basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 2313965be93Schristos ;; 2323965be93Schristos -windowsnt*) 2333965be93Schristos os=`echo $os | sed -e 's/windowsnt/winnt/'` 2343965be93Schristos ;; 2353965be93Schristos -psos*) 2363965be93Schristos os=-psos 2373965be93Schristos ;; 2383965be93Schristos -mint | -mint[0-9]*) 2393965be93Schristos basic_machine=m68k-atari 2403965be93Schristos os=-mint 2413965be93Schristos ;; 2423965be93Schristosesac 2433965be93Schristos 2443965be93Schristos# Decode aliases for certain CPU-COMPANY combinations. 2453965be93Schristoscase $basic_machine in 2463965be93Schristos # Recognize the basic CPU types without company name. 2473965be93Schristos # Some are omitted here because they have special meanings below. 2483965be93Schristos 1750a | 580 \ 2493965be93Schristos | a29k \ 2503965be93Schristos | aarch64 | aarch64_be \ 2513965be93Schristos | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2523965be93Schristos | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2533965be93Schristos | am33_2.0 \ 2543965be93Schristos | arc | arceb \ 2553965be93Schristos | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2563965be93Schristos | avr | avr32 \ 257*07146da4Schristos | ba \ 2583965be93Schristos | be32 | be64 \ 2593965be93Schristos | bfin \ 260*07146da4Schristos | c4x | c8051 | clipper \ 2613965be93Schristos | d10v | d30v | dlx | dsp16xx \ 262*07146da4Schristos | e2k | epiphany \ 263*07146da4Schristos | fido | fr30 | frv | ft32 \ 2643965be93Schristos | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2653965be93Schristos | hexagon \ 2663965be93Schristos | i370 | i860 | i960 | ia64 \ 2673965be93Schristos | ip2k | iq2000 \ 268*07146da4Schristos | k1om \ 2693965be93Schristos | le32 | le64 \ 2703965be93Schristos | lm32 \ 2713965be93Schristos | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2723965be93Schristos | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2733965be93Schristos | mips | mipsbe | mipseb | mipsel | mipsle \ 2743965be93Schristos | mips16 \ 2753965be93Schristos | mips64 | mips64el \ 2763965be93Schristos | mips64octeon | mips64octeonel \ 2773965be93Schristos | mips64orion | mips64orionel \ 2783965be93Schristos | mips64r5900 | mips64r5900el \ 2793965be93Schristos | mips64vr | mips64vrel \ 2803965be93Schristos | mips64vr4100 | mips64vr4100el \ 2813965be93Schristos | mips64vr4300 | mips64vr4300el \ 2823965be93Schristos | mips64vr5000 | mips64vr5000el \ 2833965be93Schristos | mips64vr5900 | mips64vr5900el \ 2843965be93Schristos | mipsisa32 | mipsisa32el \ 2853965be93Schristos | mipsisa32r2 | mipsisa32r2el \ 286*07146da4Schristos | mipsisa32r6 | mipsisa32r6el \ 2873965be93Schristos | mipsisa64 | mipsisa64el \ 2883965be93Schristos | mipsisa64r2 | mipsisa64r2el \ 289*07146da4Schristos | mipsisa64r6 | mipsisa64r6el \ 2903965be93Schristos | mipsisa64sb1 | mipsisa64sb1el \ 2913965be93Schristos | mipsisa64sr71k | mipsisa64sr71kel \ 2923965be93Schristos | mipsr5900 | mipsr5900el \ 2933965be93Schristos | mipstx39 | mipstx39el \ 2943965be93Schristos | mn10200 | mn10300 \ 2953965be93Schristos | moxie \ 2963965be93Schristos | mt \ 2973965be93Schristos | msp430 \ 2983965be93Schristos | nds32 | nds32le | nds32be \ 2993965be93Schristos | nios | nios2 | nios2eb | nios2el \ 3003965be93Schristos | ns16k | ns32k \ 301*07146da4Schristos | open8 | or1k | or1knd | or32 \ 3023965be93Schristos | pdp10 | pdp11 | pj | pjl \ 3033965be93Schristos | powerpc | powerpc64 | powerpc64le | powerpcle \ 304*07146da4Schristos | pru \ 3053965be93Schristos | pyramid \ 306*07146da4Schristos | riscv32 | riscv64 \ 3073965be93Schristos | rl78 | rx \ 3083965be93Schristos | score \ 309*07146da4Schristos | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3103965be93Schristos | sh64 | sh64le \ 3113965be93Schristos | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3123965be93Schristos | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3133965be93Schristos | spu \ 3143965be93Schristos | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3153965be93Schristos | ubicom32 \ 3163965be93Schristos | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 317*07146da4Schristos | visium \ 3183965be93Schristos | we32k \ 3193965be93Schristos | x86 | xc16x | xstormy16 | xtensa \ 3203965be93Schristos | z8k | z80) 3213965be93Schristos basic_machine=$basic_machine-unknown 3223965be93Schristos ;; 3233965be93Schristos c54x) 3243965be93Schristos basic_machine=tic54x-unknown 3253965be93Schristos ;; 3263965be93Schristos c55x) 3273965be93Schristos basic_machine=tic55x-unknown 3283965be93Schristos ;; 3293965be93Schristos c6x) 3303965be93Schristos basic_machine=tic6x-unknown 3313965be93Schristos ;; 332*07146da4Schristos leon|leon[3-9]) 333*07146da4Schristos basic_machine=sparc-$basic_machine 334*07146da4Schristos ;; 335*07146da4Schristos m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3363965be93Schristos basic_machine=$basic_machine-unknown 3373965be93Schristos os=-none 3383965be93Schristos ;; 3393965be93Schristos m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 3403965be93Schristos ;; 3413965be93Schristos ms1) 3423965be93Schristos basic_machine=mt-unknown 3433965be93Schristos ;; 3443965be93Schristos 3453965be93Schristos strongarm | thumb | xscale) 3463965be93Schristos basic_machine=arm-unknown 3473965be93Schristos ;; 3483965be93Schristos xgate) 3493965be93Schristos basic_machine=$basic_machine-unknown 3503965be93Schristos os=-none 3513965be93Schristos ;; 3523965be93Schristos xscaleeb) 3533965be93Schristos basic_machine=armeb-unknown 3543965be93Schristos ;; 3553965be93Schristos 3563965be93Schristos xscaleel) 3573965be93Schristos basic_machine=armel-unknown 3583965be93Schristos ;; 3593965be93Schristos 3603965be93Schristos # We use `pc' rather than `unknown' 3613965be93Schristos # because (1) that's what they normally are, and 3623965be93Schristos # (2) the word "unknown" tends to confuse beginning users. 3633965be93Schristos i*86 | x86_64) 3643965be93Schristos basic_machine=$basic_machine-pc 3653965be93Schristos ;; 3663965be93Schristos # Object if more than one company name word. 3673965be93Schristos *-*-*) 3683965be93Schristos echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 3693965be93Schristos exit 1 3703965be93Schristos ;; 3713965be93Schristos # Recognize the basic CPU types with company name. 3723965be93Schristos 580-* \ 3733965be93Schristos | a29k-* \ 3743965be93Schristos | aarch64-* | aarch64_be-* \ 3753965be93Schristos | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3763965be93Schristos | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3773965be93Schristos | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3783965be93Schristos | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3793965be93Schristos | avr-* | avr32-* \ 380*07146da4Schristos | ba-* \ 3813965be93Schristos | be32-* | be64-* \ 3823965be93Schristos | bfin-* | bs2000-* \ 3833965be93Schristos | c[123]* | c30-* | [cjt]90-* | c4x-* \ 384*07146da4Schristos | c8051-* | clipper-* | craynv-* | cydra-* \ 3853965be93Schristos | d10v-* | d30v-* | dlx-* \ 386*07146da4Schristos | e2k-* | elxsi-* \ 3873965be93Schristos | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3883965be93Schristos | h8300-* | h8500-* \ 3893965be93Schristos | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3903965be93Schristos | hexagon-* \ 3913965be93Schristos | i*86-* | i860-* | i960-* | ia64-* \ 3923965be93Schristos | ip2k-* | iq2000-* \ 393*07146da4Schristos | k1om-* \ 3943965be93Schristos | le32-* | le64-* \ 3953965be93Schristos | lm32-* \ 3963965be93Schristos | m32c-* | m32r-* | m32rle-* \ 3973965be93Schristos | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3983965be93Schristos | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3993965be93Schristos | microblaze-* | microblazeel-* \ 4003965be93Schristos | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 4013965be93Schristos | mips16-* \ 4023965be93Schristos | mips64-* | mips64el-* \ 4033965be93Schristos | mips64octeon-* | mips64octeonel-* \ 4043965be93Schristos | mips64orion-* | mips64orionel-* \ 4053965be93Schristos | mips64r5900-* | mips64r5900el-* \ 4063965be93Schristos | mips64vr-* | mips64vrel-* \ 4073965be93Schristos | mips64vr4100-* | mips64vr4100el-* \ 4083965be93Schristos | mips64vr4300-* | mips64vr4300el-* \ 4093965be93Schristos | mips64vr5000-* | mips64vr5000el-* \ 4103965be93Schristos | mips64vr5900-* | mips64vr5900el-* \ 4113965be93Schristos | mipsisa32-* | mipsisa32el-* \ 4123965be93Schristos | mipsisa32r2-* | mipsisa32r2el-* \ 413*07146da4Schristos | mipsisa32r6-* | mipsisa32r6el-* \ 4143965be93Schristos | mipsisa64-* | mipsisa64el-* \ 4153965be93Schristos | mipsisa64r2-* | mipsisa64r2el-* \ 416*07146da4Schristos | mipsisa64r6-* | mipsisa64r6el-* \ 4173965be93Schristos | mipsisa64sb1-* | mipsisa64sb1el-* \ 4183965be93Schristos | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4193965be93Schristos | mipsr5900-* | mipsr5900el-* \ 4203965be93Schristos | mipstx39-* | mipstx39el-* \ 4213965be93Schristos | mmix-* \ 4223965be93Schristos | mt-* \ 4233965be93Schristos | msp430-* \ 4243965be93Schristos | nds32-* | nds32le-* | nds32be-* \ 4253965be93Schristos | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4263965be93Schristos | none-* | np1-* | ns16k-* | ns32k-* \ 4273965be93Schristos | open8-* \ 428*07146da4Schristos | or1k*-* \ 4293965be93Schristos | orion-* \ 4303965be93Schristos | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4313965be93Schristos | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 432*07146da4Schristos | pru-* \ 4333965be93Schristos | pyramid-* \ 434*07146da4Schristos | riscv32-* | riscv64-* \ 4353965be93Schristos | rl78-* | romp-* | rs6000-* | rx-* \ 4363965be93Schristos | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4373965be93Schristos | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4383965be93Schristos | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4393965be93Schristos | sparclite-* \ 440*07146da4Schristos | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4413965be93Schristos | tahoe-* \ 4423965be93Schristos | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4433965be93Schristos | tile*-* \ 4443965be93Schristos | tron-* \ 4453965be93Schristos | ubicom32-* \ 4463965be93Schristos | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4473965be93Schristos | vax-* \ 448*07146da4Schristos | visium-* \ 4493965be93Schristos | we32k-* \ 4503965be93Schristos | x86-* | x86_64-* | xc16x-* | xps100-* \ 4513965be93Schristos | xstormy16-* | xtensa*-* \ 4523965be93Schristos | ymp-* \ 4533965be93Schristos | z8k-* | z80-*) 4543965be93Schristos ;; 4553965be93Schristos # Recognize the basic CPU types without company name, with glob match. 4563965be93Schristos xtensa*) 4573965be93Schristos basic_machine=$basic_machine-unknown 4583965be93Schristos ;; 4593965be93Schristos # Recognize the various machine names and aliases which stand 4603965be93Schristos # for a CPU type and a company and sometimes even an OS. 4613965be93Schristos 386bsd) 4623965be93Schristos basic_machine=i386-unknown 4633965be93Schristos os=-bsd 4643965be93Schristos ;; 4653965be93Schristos 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4663965be93Schristos basic_machine=m68000-att 4673965be93Schristos ;; 4683965be93Schristos 3b*) 4693965be93Schristos basic_machine=we32k-att 4703965be93Schristos ;; 4713965be93Schristos a29khif) 4723965be93Schristos basic_machine=a29k-amd 4733965be93Schristos os=-udi 4743965be93Schristos ;; 4753965be93Schristos abacus) 4763965be93Schristos basic_machine=abacus-unknown 4773965be93Schristos ;; 4783965be93Schristos adobe68k) 4793965be93Schristos basic_machine=m68010-adobe 4803965be93Schristos os=-scout 4813965be93Schristos ;; 4823965be93Schristos alliant | fx80) 4833965be93Schristos basic_machine=fx80-alliant 4843965be93Schristos ;; 4853965be93Schristos altos | altos3068) 4863965be93Schristos basic_machine=m68k-altos 4873965be93Schristos ;; 4883965be93Schristos am29k) 4893965be93Schristos basic_machine=a29k-none 4903965be93Schristos os=-bsd 4913965be93Schristos ;; 4923965be93Schristos amd64) 4933965be93Schristos basic_machine=x86_64-pc 4943965be93Schristos ;; 4953965be93Schristos amd64-*) 4963965be93Schristos basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4973965be93Schristos ;; 4983965be93Schristos amdahl) 4993965be93Schristos basic_machine=580-amdahl 5003965be93Schristos os=-sysv 5013965be93Schristos ;; 5023965be93Schristos amiga | amiga-*) 5033965be93Schristos basic_machine=m68k-unknown 5043965be93Schristos ;; 5053965be93Schristos amigaos | amigados) 5063965be93Schristos basic_machine=m68k-unknown 5073965be93Schristos os=-amigaos 5083965be93Schristos ;; 5093965be93Schristos amigaunix | amix) 5103965be93Schristos basic_machine=m68k-unknown 5113965be93Schristos os=-sysv4 5123965be93Schristos ;; 5133965be93Schristos apollo68) 5143965be93Schristos basic_machine=m68k-apollo 5153965be93Schristos os=-sysv 5163965be93Schristos ;; 5173965be93Schristos apollo68bsd) 5183965be93Schristos basic_machine=m68k-apollo 5193965be93Schristos os=-bsd 5203965be93Schristos ;; 5213965be93Schristos aros) 5223965be93Schristos basic_machine=i386-pc 5233965be93Schristos os=-aros 5243965be93Schristos ;; 525*07146da4Schristos asmjs) 526*07146da4Schristos basic_machine=asmjs-unknown 527*07146da4Schristos ;; 5283965be93Schristos aux) 5293965be93Schristos basic_machine=m68k-apple 5303965be93Schristos os=-aux 5313965be93Schristos ;; 5323965be93Schristos balance) 5333965be93Schristos basic_machine=ns32k-sequent 5343965be93Schristos os=-dynix 5353965be93Schristos ;; 5363965be93Schristos blackfin) 5373965be93Schristos basic_machine=bfin-unknown 5383965be93Schristos os=-linux 5393965be93Schristos ;; 5403965be93Schristos blackfin-*) 5413965be93Schristos basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5423965be93Schristos os=-linux 5433965be93Schristos ;; 5443965be93Schristos bluegene*) 5453965be93Schristos basic_machine=powerpc-ibm 5463965be93Schristos os=-cnk 5473965be93Schristos ;; 5483965be93Schristos c54x-*) 5493965be93Schristos basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5503965be93Schristos ;; 5513965be93Schristos c55x-*) 5523965be93Schristos basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5533965be93Schristos ;; 5543965be93Schristos c6x-*) 5553965be93Schristos basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5563965be93Schristos ;; 5573965be93Schristos c90) 5583965be93Schristos basic_machine=c90-cray 5593965be93Schristos os=-unicos 5603965be93Schristos ;; 5613965be93Schristos cegcc) 5623965be93Schristos basic_machine=arm-unknown 5633965be93Schristos os=-cegcc 5643965be93Schristos ;; 5653965be93Schristos convex-c1) 5663965be93Schristos basic_machine=c1-convex 5673965be93Schristos os=-bsd 5683965be93Schristos ;; 5693965be93Schristos convex-c2) 5703965be93Schristos basic_machine=c2-convex 5713965be93Schristos os=-bsd 5723965be93Schristos ;; 5733965be93Schristos convex-c32) 5743965be93Schristos basic_machine=c32-convex 5753965be93Schristos os=-bsd 5763965be93Schristos ;; 5773965be93Schristos convex-c34) 5783965be93Schristos basic_machine=c34-convex 5793965be93Schristos os=-bsd 5803965be93Schristos ;; 5813965be93Schristos convex-c38) 5823965be93Schristos basic_machine=c38-convex 5833965be93Schristos os=-bsd 5843965be93Schristos ;; 5853965be93Schristos cray | j90) 5863965be93Schristos basic_machine=j90-cray 5873965be93Schristos os=-unicos 5883965be93Schristos ;; 5893965be93Schristos craynv) 5903965be93Schristos basic_machine=craynv-cray 5913965be93Schristos os=-unicosmp 5923965be93Schristos ;; 5933965be93Schristos cr16 | cr16-*) 5943965be93Schristos basic_machine=cr16-unknown 5953965be93Schristos os=-elf 5963965be93Schristos ;; 5973965be93Schristos crds | unos) 5983965be93Schristos basic_machine=m68k-crds 5993965be93Schristos ;; 6003965be93Schristos crisv32 | crisv32-* | etraxfs*) 6013965be93Schristos basic_machine=crisv32-axis 6023965be93Schristos ;; 6033965be93Schristos cris | cris-* | etrax*) 6043965be93Schristos basic_machine=cris-axis 6053965be93Schristos ;; 6063965be93Schristos crx) 6073965be93Schristos basic_machine=crx-unknown 6083965be93Schristos os=-elf 6093965be93Schristos ;; 6103965be93Schristos da30 | da30-*) 6113965be93Schristos basic_machine=m68k-da30 6123965be93Schristos ;; 6133965be93Schristos decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6143965be93Schristos basic_machine=mips-dec 6153965be93Schristos ;; 6163965be93Schristos decsystem10* | dec10*) 6173965be93Schristos basic_machine=pdp10-dec 6183965be93Schristos os=-tops10 6193965be93Schristos ;; 6203965be93Schristos decsystem20* | dec20*) 6213965be93Schristos basic_machine=pdp10-dec 6223965be93Schristos os=-tops20 6233965be93Schristos ;; 6243965be93Schristos delta | 3300 | motorola-3300 | motorola-delta \ 6253965be93Schristos | 3300-motorola | delta-motorola) 6263965be93Schristos basic_machine=m68k-motorola 6273965be93Schristos ;; 6283965be93Schristos delta88) 6293965be93Schristos basic_machine=m88k-motorola 6303965be93Schristos os=-sysv3 6313965be93Schristos ;; 6323965be93Schristos dicos) 6333965be93Schristos basic_machine=i686-pc 6343965be93Schristos os=-dicos 6353965be93Schristos ;; 6363965be93Schristos djgpp) 6373965be93Schristos basic_machine=i586-pc 6383965be93Schristos os=-msdosdjgpp 6393965be93Schristos ;; 6403965be93Schristos dpx20 | dpx20-*) 6413965be93Schristos basic_machine=rs6000-bull 6423965be93Schristos os=-bosx 6433965be93Schristos ;; 6443965be93Schristos dpx2* | dpx2*-bull) 6453965be93Schristos basic_machine=m68k-bull 6463965be93Schristos os=-sysv3 6473965be93Schristos ;; 648*07146da4Schristos e500v[12]) 649*07146da4Schristos basic_machine=powerpc-unknown 650*07146da4Schristos os=$os"spe" 651*07146da4Schristos ;; 652*07146da4Schristos e500v[12]-*) 653*07146da4Schristos basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 654*07146da4Schristos os=$os"spe" 655*07146da4Schristos ;; 6563965be93Schristos ebmon29k) 6573965be93Schristos basic_machine=a29k-amd 6583965be93Schristos os=-ebmon 6593965be93Schristos ;; 6603965be93Schristos elxsi) 6613965be93Schristos basic_machine=elxsi-elxsi 6623965be93Schristos os=-bsd 6633965be93Schristos ;; 6643965be93Schristos encore | umax | mmax) 6653965be93Schristos basic_machine=ns32k-encore 6663965be93Schristos ;; 6673965be93Schristos es1800 | OSE68k | ose68k | ose | OSE) 6683965be93Schristos basic_machine=m68k-ericsson 6693965be93Schristos os=-ose 6703965be93Schristos ;; 6713965be93Schristos fx2800) 6723965be93Schristos basic_machine=i860-alliant 6733965be93Schristos ;; 6743965be93Schristos genix) 6753965be93Schristos basic_machine=ns32k-ns 6763965be93Schristos ;; 6773965be93Schristos gmicro) 6783965be93Schristos basic_machine=tron-gmicro 6793965be93Schristos os=-sysv 6803965be93Schristos ;; 6813965be93Schristos go32) 6823965be93Schristos basic_machine=i386-pc 6833965be93Schristos os=-go32 6843965be93Schristos ;; 6853965be93Schristos h3050r* | hiux*) 6863965be93Schristos basic_machine=hppa1.1-hitachi 6873965be93Schristos os=-hiuxwe2 6883965be93Schristos ;; 6893965be93Schristos h8300hms) 6903965be93Schristos basic_machine=h8300-hitachi 6913965be93Schristos os=-hms 6923965be93Schristos ;; 6933965be93Schristos h8300xray) 6943965be93Schristos basic_machine=h8300-hitachi 6953965be93Schristos os=-xray 6963965be93Schristos ;; 6973965be93Schristos h8500hms) 6983965be93Schristos basic_machine=h8500-hitachi 6993965be93Schristos os=-hms 7003965be93Schristos ;; 7013965be93Schristos harris) 7023965be93Schristos basic_machine=m88k-harris 7033965be93Schristos os=-sysv3 7043965be93Schristos ;; 7053965be93Schristos hp300-*) 7063965be93Schristos basic_machine=m68k-hp 7073965be93Schristos ;; 7083965be93Schristos hp300bsd) 7093965be93Schristos basic_machine=m68k-hp 7103965be93Schristos os=-bsd 7113965be93Schristos ;; 7123965be93Schristos hp300hpux) 7133965be93Schristos basic_machine=m68k-hp 7143965be93Schristos os=-hpux 7153965be93Schristos ;; 7163965be93Schristos hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7173965be93Schristos basic_machine=hppa1.0-hp 7183965be93Schristos ;; 7193965be93Schristos hp9k2[0-9][0-9] | hp9k31[0-9]) 7203965be93Schristos basic_machine=m68000-hp 7213965be93Schristos ;; 7223965be93Schristos hp9k3[2-9][0-9]) 7233965be93Schristos basic_machine=m68k-hp 7243965be93Schristos ;; 7253965be93Schristos hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7263965be93Schristos basic_machine=hppa1.0-hp 7273965be93Schristos ;; 7283965be93Schristos hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7293965be93Schristos basic_machine=hppa1.1-hp 7303965be93Schristos ;; 7313965be93Schristos hp9k78[0-9] | hp78[0-9]) 7323965be93Schristos # FIXME: really hppa2.0-hp 7333965be93Schristos basic_machine=hppa1.1-hp 7343965be93Schristos ;; 7353965be93Schristos hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7363965be93Schristos # FIXME: really hppa2.0-hp 7373965be93Schristos basic_machine=hppa1.1-hp 7383965be93Schristos ;; 7393965be93Schristos hp9k8[0-9][13679] | hp8[0-9][13679]) 7403965be93Schristos basic_machine=hppa1.1-hp 7413965be93Schristos ;; 7423965be93Schristos hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7433965be93Schristos basic_machine=hppa1.0-hp 7443965be93Schristos ;; 7453965be93Schristos hppa-next) 7463965be93Schristos os=-nextstep3 7473965be93Schristos ;; 7483965be93Schristos hppaosf) 7493965be93Schristos basic_machine=hppa1.1-hp 7503965be93Schristos os=-osf 7513965be93Schristos ;; 7523965be93Schristos hppro) 7533965be93Schristos basic_machine=hppa1.1-hp 7543965be93Schristos os=-proelf 7553965be93Schristos ;; 7563965be93Schristos i370-ibm* | ibm*) 7573965be93Schristos basic_machine=i370-ibm 7583965be93Schristos ;; 7593965be93Schristos i*86v32) 7603965be93Schristos basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7613965be93Schristos os=-sysv32 7623965be93Schristos ;; 7633965be93Schristos i*86v4*) 7643965be93Schristos basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7653965be93Schristos os=-sysv4 7663965be93Schristos ;; 7673965be93Schristos i*86v) 7683965be93Schristos basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7693965be93Schristos os=-sysv 7703965be93Schristos ;; 7713965be93Schristos i*86sol2) 7723965be93Schristos basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7733965be93Schristos os=-solaris2 7743965be93Schristos ;; 7753965be93Schristos i386mach) 7763965be93Schristos basic_machine=i386-mach 7773965be93Schristos os=-mach 7783965be93Schristos ;; 7793965be93Schristos i386-vsta | vsta) 7803965be93Schristos basic_machine=i386-unknown 7813965be93Schristos os=-vsta 7823965be93Schristos ;; 7833965be93Schristos iris | iris4d) 7843965be93Schristos basic_machine=mips-sgi 7853965be93Schristos case $os in 7863965be93Schristos -irix*) 7873965be93Schristos ;; 7883965be93Schristos *) 7893965be93Schristos os=-irix4 7903965be93Schristos ;; 7913965be93Schristos esac 7923965be93Schristos ;; 7933965be93Schristos isi68 | isi) 7943965be93Schristos basic_machine=m68k-isi 7953965be93Schristos os=-sysv 7963965be93Schristos ;; 797*07146da4Schristos leon-*|leon[3-9]-*) 798*07146da4Schristos basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 799*07146da4Schristos ;; 8003965be93Schristos m68knommu) 8013965be93Schristos basic_machine=m68k-unknown 8023965be93Schristos os=-linux 8033965be93Schristos ;; 8043965be93Schristos m68knommu-*) 8053965be93Schristos basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 8063965be93Schristos os=-linux 8073965be93Schristos ;; 8083965be93Schristos m88k-omron*) 8093965be93Schristos basic_machine=m88k-omron 8103965be93Schristos ;; 8113965be93Schristos magnum | m3230) 8123965be93Schristos basic_machine=mips-mips 8133965be93Schristos os=-sysv 8143965be93Schristos ;; 8153965be93Schristos merlin) 8163965be93Schristos basic_machine=ns32k-utek 8173965be93Schristos os=-sysv 8183965be93Schristos ;; 8193965be93Schristos microblaze*) 8203965be93Schristos basic_machine=microblaze-xilinx 8213965be93Schristos ;; 8223965be93Schristos mingw64) 8233965be93Schristos basic_machine=x86_64-pc 8243965be93Schristos os=-mingw64 8253965be93Schristos ;; 8263965be93Schristos mingw32) 827*07146da4Schristos basic_machine=i686-pc 8283965be93Schristos os=-mingw32 8293965be93Schristos ;; 8303965be93Schristos mingw32ce) 8313965be93Schristos basic_machine=arm-unknown 8323965be93Schristos os=-mingw32ce 8333965be93Schristos ;; 8343965be93Schristos miniframe) 8353965be93Schristos basic_machine=m68000-convergent 8363965be93Schristos ;; 8373965be93Schristos *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8383965be93Schristos basic_machine=m68k-atari 8393965be93Schristos os=-mint 8403965be93Schristos ;; 8413965be93Schristos mips3*-*) 8423965be93Schristos basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 8433965be93Schristos ;; 8443965be93Schristos mips3*) 8453965be93Schristos basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 8463965be93Schristos ;; 8473965be93Schristos monitor) 8483965be93Schristos basic_machine=m68k-rom68k 8493965be93Schristos os=-coff 8503965be93Schristos ;; 8513965be93Schristos morphos) 8523965be93Schristos basic_machine=powerpc-unknown 8533965be93Schristos os=-morphos 8543965be93Schristos ;; 855*07146da4Schristos moxiebox) 856*07146da4Schristos basic_machine=moxie-unknown 857*07146da4Schristos os=-moxiebox 858*07146da4Schristos ;; 8593965be93Schristos msdos) 8603965be93Schristos basic_machine=i386-pc 8613965be93Schristos os=-msdos 8623965be93Schristos ;; 8633965be93Schristos ms1-*) 8643965be93Schristos basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8653965be93Schristos ;; 8663965be93Schristos msys) 867*07146da4Schristos basic_machine=i686-pc 8683965be93Schristos os=-msys 8693965be93Schristos ;; 8703965be93Schristos mvs) 8713965be93Schristos basic_machine=i370-ibm 8723965be93Schristos os=-mvs 8733965be93Schristos ;; 8743965be93Schristos nacl) 8753965be93Schristos basic_machine=le32-unknown 8763965be93Schristos os=-nacl 8773965be93Schristos ;; 8783965be93Schristos ncr3000) 8793965be93Schristos basic_machine=i486-ncr 8803965be93Schristos os=-sysv4 8813965be93Schristos ;; 8823965be93Schristos netbsd386) 8833965be93Schristos basic_machine=i386-unknown 8843965be93Schristos os=-netbsd 8853965be93Schristos ;; 8863965be93Schristos netwinder) 8873965be93Schristos basic_machine=armv4l-rebel 8883965be93Schristos os=-linux 8893965be93Schristos ;; 8903965be93Schristos news | news700 | news800 | news900) 8913965be93Schristos basic_machine=m68k-sony 8923965be93Schristos os=-newsos 8933965be93Schristos ;; 8943965be93Schristos news1000) 8953965be93Schristos basic_machine=m68030-sony 8963965be93Schristos os=-newsos 8973965be93Schristos ;; 8983965be93Schristos news-3600 | risc-news) 8993965be93Schristos basic_machine=mips-sony 9003965be93Schristos os=-newsos 9013965be93Schristos ;; 9023965be93Schristos necv70) 9033965be93Schristos basic_machine=v70-nec 9043965be93Schristos os=-sysv 9053965be93Schristos ;; 9063965be93Schristos next | m*-next ) 9073965be93Schristos basic_machine=m68k-next 9083965be93Schristos case $os in 9093965be93Schristos -nextstep* ) 9103965be93Schristos ;; 9113965be93Schristos -ns2*) 9123965be93Schristos os=-nextstep2 9133965be93Schristos ;; 9143965be93Schristos *) 9153965be93Schristos os=-nextstep3 9163965be93Schristos ;; 9173965be93Schristos esac 9183965be93Schristos ;; 9193965be93Schristos nh3000) 9203965be93Schristos basic_machine=m68k-harris 9213965be93Schristos os=-cxux 9223965be93Schristos ;; 9233965be93Schristos nh[45]000) 9243965be93Schristos basic_machine=m88k-harris 9253965be93Schristos os=-cxux 9263965be93Schristos ;; 9273965be93Schristos nindy960) 9283965be93Schristos basic_machine=i960-intel 9293965be93Schristos os=-nindy 9303965be93Schristos ;; 9313965be93Schristos mon960) 9323965be93Schristos basic_machine=i960-intel 9333965be93Schristos os=-mon960 9343965be93Schristos ;; 9353965be93Schristos nonstopux) 9363965be93Schristos basic_machine=mips-compaq 9373965be93Schristos os=-nonstopux 9383965be93Schristos ;; 9393965be93Schristos np1) 9403965be93Schristos basic_machine=np1-gould 9413965be93Schristos ;; 9423965be93Schristos neo-tandem) 9433965be93Schristos basic_machine=neo-tandem 9443965be93Schristos ;; 9453965be93Schristos nse-tandem) 9463965be93Schristos basic_machine=nse-tandem 9473965be93Schristos ;; 9483965be93Schristos nsr-tandem) 9493965be93Schristos basic_machine=nsr-tandem 9503965be93Schristos ;; 9513965be93Schristos op50n-* | op60c-*) 9523965be93Schristos basic_machine=hppa1.1-oki 9533965be93Schristos os=-proelf 9543965be93Schristos ;; 9553965be93Schristos openrisc | openrisc-*) 9563965be93Schristos basic_machine=or32-unknown 9573965be93Schristos ;; 9583965be93Schristos os400) 9593965be93Schristos basic_machine=powerpc-ibm 9603965be93Schristos os=-os400 9613965be93Schristos ;; 9623965be93Schristos OSE68000 | ose68000) 9633965be93Schristos basic_machine=m68000-ericsson 9643965be93Schristos os=-ose 9653965be93Schristos ;; 9663965be93Schristos os68k) 9673965be93Schristos basic_machine=m68k-none 9683965be93Schristos os=-os68k 9693965be93Schristos ;; 9703965be93Schristos pa-hitachi) 9713965be93Schristos basic_machine=hppa1.1-hitachi 9723965be93Schristos os=-hiuxwe2 9733965be93Schristos ;; 9743965be93Schristos paragon) 9753965be93Schristos basic_machine=i860-intel 9763965be93Schristos os=-osf 9773965be93Schristos ;; 9783965be93Schristos parisc) 9793965be93Schristos basic_machine=hppa-unknown 9803965be93Schristos os=-linux 9813965be93Schristos ;; 9823965be93Schristos parisc-*) 9833965be93Schristos basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9843965be93Schristos os=-linux 9853965be93Schristos ;; 9863965be93Schristos pbd) 9873965be93Schristos basic_machine=sparc-tti 9883965be93Schristos ;; 9893965be93Schristos pbb) 9903965be93Schristos basic_machine=m68k-tti 9913965be93Schristos ;; 9923965be93Schristos pc532 | pc532-*) 9933965be93Schristos basic_machine=ns32k-pc532 9943965be93Schristos ;; 9953965be93Schristos pc98) 9963965be93Schristos basic_machine=i386-pc 9973965be93Schristos ;; 9983965be93Schristos pc98-*) 9993965be93Schristos basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 10003965be93Schristos ;; 10013965be93Schristos pentium | p5 | k5 | k6 | nexgen | viac3) 10023965be93Schristos basic_machine=i586-pc 10033965be93Schristos ;; 10043965be93Schristos pentiumpro | p6 | 6x86 | athlon | athlon_*) 10053965be93Schristos basic_machine=i686-pc 10063965be93Schristos ;; 10073965be93Schristos pentiumii | pentium2 | pentiumiii | pentium3) 10083965be93Schristos basic_machine=i686-pc 10093965be93Schristos ;; 10103965be93Schristos pentium4) 10113965be93Schristos basic_machine=i786-pc 10123965be93Schristos ;; 10133965be93Schristos pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10143965be93Schristos basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 10153965be93Schristos ;; 10163965be93Schristos pentiumpro-* | p6-* | 6x86-* | athlon-*) 10173965be93Schristos basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 10183965be93Schristos ;; 10193965be93Schristos pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10203965be93Schristos basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 10213965be93Schristos ;; 10223965be93Schristos pentium4-*) 10233965be93Schristos basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 10243965be93Schristos ;; 10253965be93Schristos pn) 10263965be93Schristos basic_machine=pn-gould 10273965be93Schristos ;; 10283965be93Schristos power) basic_machine=power-ibm 10293965be93Schristos ;; 10303965be93Schristos ppc | ppcbe) basic_machine=powerpc-unknown 10313965be93Schristos ;; 10323965be93Schristos ppc-* | ppcbe-*) 10333965be93Schristos basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 10343965be93Schristos ;; 1035*07146da4Schristos ppcle | powerpclittle) 10363965be93Schristos basic_machine=powerpcle-unknown 10373965be93Schristos ;; 10383965be93Schristos ppcle-* | powerpclittle-*) 10393965be93Schristos basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 10403965be93Schristos ;; 10413965be93Schristos ppc64) basic_machine=powerpc64-unknown 10423965be93Schristos ;; 10433965be93Schristos ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 10443965be93Schristos ;; 1045*07146da4Schristos ppc64le | powerpc64little) 10463965be93Schristos basic_machine=powerpc64le-unknown 10473965be93Schristos ;; 10483965be93Schristos ppc64le-* | powerpc64little-*) 10493965be93Schristos basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 10503965be93Schristos ;; 10513965be93Schristos ps2) 10523965be93Schristos basic_machine=i386-ibm 10533965be93Schristos ;; 10543965be93Schristos pw32) 10553965be93Schristos basic_machine=i586-unknown 10563965be93Schristos os=-pw32 10573965be93Schristos ;; 10583965be93Schristos rdos | rdos64) 10593965be93Schristos basic_machine=x86_64-pc 10603965be93Schristos os=-rdos 10613965be93Schristos ;; 10623965be93Schristos rdos32) 10633965be93Schristos basic_machine=i386-pc 10643965be93Schristos os=-rdos 10653965be93Schristos ;; 10663965be93Schristos rom68k) 10673965be93Schristos basic_machine=m68k-rom68k 10683965be93Schristos os=-coff 10693965be93Schristos ;; 10703965be93Schristos rm[46]00) 10713965be93Schristos basic_machine=mips-siemens 10723965be93Schristos ;; 10733965be93Schristos rtpc | rtpc-*) 10743965be93Schristos basic_machine=romp-ibm 10753965be93Schristos ;; 10763965be93Schristos s390 | s390-*) 10773965be93Schristos basic_machine=s390-ibm 10783965be93Schristos ;; 10793965be93Schristos s390x | s390x-*) 10803965be93Schristos basic_machine=s390x-ibm 10813965be93Schristos ;; 10823965be93Schristos sa29200) 10833965be93Schristos basic_machine=a29k-amd 10843965be93Schristos os=-udi 10853965be93Schristos ;; 10863965be93Schristos sb1) 10873965be93Schristos basic_machine=mipsisa64sb1-unknown 10883965be93Schristos ;; 10893965be93Schristos sb1el) 10903965be93Schristos basic_machine=mipsisa64sb1el-unknown 10913965be93Schristos ;; 10923965be93Schristos sde) 10933965be93Schristos basic_machine=mipsisa32-sde 10943965be93Schristos os=-elf 10953965be93Schristos ;; 10963965be93Schristos sei) 10973965be93Schristos basic_machine=mips-sei 10983965be93Schristos os=-seiux 10993965be93Schristos ;; 11003965be93Schristos sequent) 11013965be93Schristos basic_machine=i386-sequent 11023965be93Schristos ;; 11033965be93Schristos sh) 11043965be93Schristos basic_machine=sh-hitachi 11053965be93Schristos os=-hms 11063965be93Schristos ;; 11073965be93Schristos sh5el) 11083965be93Schristos basic_machine=sh5le-unknown 11093965be93Schristos ;; 11103965be93Schristos sh64) 11113965be93Schristos basic_machine=sh64-unknown 11123965be93Schristos ;; 11133965be93Schristos sparclite-wrs | simso-wrs) 11143965be93Schristos basic_machine=sparclite-wrs 11153965be93Schristos os=-vxworks 11163965be93Schristos ;; 11173965be93Schristos sps7) 11183965be93Schristos basic_machine=m68k-bull 11193965be93Schristos os=-sysv2 11203965be93Schristos ;; 11213965be93Schristos spur) 11223965be93Schristos basic_machine=spur-unknown 11233965be93Schristos ;; 11243965be93Schristos st2000) 11253965be93Schristos basic_machine=m68k-tandem 11263965be93Schristos ;; 11273965be93Schristos stratus) 11283965be93Schristos basic_machine=i860-stratus 11293965be93Schristos os=-sysv4 11303965be93Schristos ;; 11313965be93Schristos strongarm-* | thumb-*) 11323965be93Schristos basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11333965be93Schristos ;; 11343965be93Schristos sun2) 11353965be93Schristos basic_machine=m68000-sun 11363965be93Schristos ;; 11373965be93Schristos sun2os3) 11383965be93Schristos basic_machine=m68000-sun 11393965be93Schristos os=-sunos3 11403965be93Schristos ;; 11413965be93Schristos sun2os4) 11423965be93Schristos basic_machine=m68000-sun 11433965be93Schristos os=-sunos4 11443965be93Schristos ;; 11453965be93Schristos sun3os3) 11463965be93Schristos basic_machine=m68k-sun 11473965be93Schristos os=-sunos3 11483965be93Schristos ;; 11493965be93Schristos sun3os4) 11503965be93Schristos basic_machine=m68k-sun 11513965be93Schristos os=-sunos4 11523965be93Schristos ;; 11533965be93Schristos sun4os3) 11543965be93Schristos basic_machine=sparc-sun 11553965be93Schristos os=-sunos3 11563965be93Schristos ;; 11573965be93Schristos sun4os4) 11583965be93Schristos basic_machine=sparc-sun 11593965be93Schristos os=-sunos4 11603965be93Schristos ;; 11613965be93Schristos sun4sol2) 11623965be93Schristos basic_machine=sparc-sun 11633965be93Schristos os=-solaris2 11643965be93Schristos ;; 11653965be93Schristos sun3 | sun3-*) 11663965be93Schristos basic_machine=m68k-sun 11673965be93Schristos ;; 11683965be93Schristos sun4) 11693965be93Schristos basic_machine=sparc-sun 11703965be93Schristos ;; 11713965be93Schristos sun386 | sun386i | roadrunner) 11723965be93Schristos basic_machine=i386-sun 11733965be93Schristos ;; 11743965be93Schristos sv1) 11753965be93Schristos basic_machine=sv1-cray 11763965be93Schristos os=-unicos 11773965be93Schristos ;; 11783965be93Schristos symmetry) 11793965be93Schristos basic_machine=i386-sequent 11803965be93Schristos os=-dynix 11813965be93Schristos ;; 11823965be93Schristos t3e) 11833965be93Schristos basic_machine=alphaev5-cray 11843965be93Schristos os=-unicos 11853965be93Schristos ;; 11863965be93Schristos t90) 11873965be93Schristos basic_machine=t90-cray 11883965be93Schristos os=-unicos 11893965be93Schristos ;; 11903965be93Schristos tile*) 11913965be93Schristos basic_machine=$basic_machine-unknown 11923965be93Schristos os=-linux-gnu 11933965be93Schristos ;; 11943965be93Schristos tx39) 11953965be93Schristos basic_machine=mipstx39-unknown 11963965be93Schristos ;; 11973965be93Schristos tx39el) 11983965be93Schristos basic_machine=mipstx39el-unknown 11993965be93Schristos ;; 12003965be93Schristos toad1) 12013965be93Schristos basic_machine=pdp10-xkl 12023965be93Schristos os=-tops20 12033965be93Schristos ;; 12043965be93Schristos tower | tower-32) 12053965be93Schristos basic_machine=m68k-ncr 12063965be93Schristos ;; 12073965be93Schristos tpf) 12083965be93Schristos basic_machine=s390x-ibm 12093965be93Schristos os=-tpf 12103965be93Schristos ;; 12113965be93Schristos udi29k) 12123965be93Schristos basic_machine=a29k-amd 12133965be93Schristos os=-udi 12143965be93Schristos ;; 12153965be93Schristos ultra3) 12163965be93Schristos basic_machine=a29k-nyu 12173965be93Schristos os=-sym1 12183965be93Schristos ;; 12193965be93Schristos v810 | necv810) 12203965be93Schristos basic_machine=v810-nec 12213965be93Schristos os=-none 12223965be93Schristos ;; 12233965be93Schristos vaxv) 12243965be93Schristos basic_machine=vax-dec 12253965be93Schristos os=-sysv 12263965be93Schristos ;; 12273965be93Schristos vms) 12283965be93Schristos basic_machine=vax-dec 12293965be93Schristos os=-vms 12303965be93Schristos ;; 12313965be93Schristos vpp*|vx|vx-*) 12323965be93Schristos basic_machine=f301-fujitsu 12333965be93Schristos ;; 12343965be93Schristos vxworks960) 12353965be93Schristos basic_machine=i960-wrs 12363965be93Schristos os=-vxworks 12373965be93Schristos ;; 12383965be93Schristos vxworks68) 12393965be93Schristos basic_machine=m68k-wrs 12403965be93Schristos os=-vxworks 12413965be93Schristos ;; 12423965be93Schristos vxworks29k) 12433965be93Schristos basic_machine=a29k-wrs 12443965be93Schristos os=-vxworks 12453965be93Schristos ;; 12463965be93Schristos w65*) 12473965be93Schristos basic_machine=w65-wdc 12483965be93Schristos os=-none 12493965be93Schristos ;; 12503965be93Schristos w89k-*) 12513965be93Schristos basic_machine=hppa1.1-winbond 12523965be93Schristos os=-proelf 12533965be93Schristos ;; 12543965be93Schristos xbox) 12553965be93Schristos basic_machine=i686-pc 12563965be93Schristos os=-mingw32 12573965be93Schristos ;; 12583965be93Schristos xps | xps100) 12593965be93Schristos basic_machine=xps100-honeywell 12603965be93Schristos ;; 12613965be93Schristos xscale-* | xscalee[bl]-*) 12623965be93Schristos basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12633965be93Schristos ;; 12643965be93Schristos ymp) 12653965be93Schristos basic_machine=ymp-cray 12663965be93Schristos os=-unicos 12673965be93Schristos ;; 12683965be93Schristos z8k-*-coff) 12693965be93Schristos basic_machine=z8k-unknown 12703965be93Schristos os=-sim 12713965be93Schristos ;; 12723965be93Schristos z80-*-coff) 12733965be93Schristos basic_machine=z80-unknown 12743965be93Schristos os=-sim 12753965be93Schristos ;; 12763965be93Schristos none) 12773965be93Schristos basic_machine=none-none 12783965be93Schristos os=-none 12793965be93Schristos ;; 12803965be93Schristos 12813965be93Schristos# Here we handle the default manufacturer of certain CPU types. It is in 12823965be93Schristos# some cases the only manufacturer, in others, it is the most popular. 12833965be93Schristos w89k) 12843965be93Schristos basic_machine=hppa1.1-winbond 12853965be93Schristos ;; 12863965be93Schristos op50n) 12873965be93Schristos basic_machine=hppa1.1-oki 12883965be93Schristos ;; 12893965be93Schristos op60c) 12903965be93Schristos basic_machine=hppa1.1-oki 12913965be93Schristos ;; 12923965be93Schristos romp) 12933965be93Schristos basic_machine=romp-ibm 12943965be93Schristos ;; 12953965be93Schristos mmix) 12963965be93Schristos basic_machine=mmix-knuth 12973965be93Schristos ;; 12983965be93Schristos rs6000) 12993965be93Schristos basic_machine=rs6000-ibm 13003965be93Schristos ;; 13013965be93Schristos vax) 13023965be93Schristos basic_machine=vax-dec 13033965be93Schristos ;; 13043965be93Schristos pdp10) 13053965be93Schristos # there are many clones, so DEC is not a safe bet 13063965be93Schristos basic_machine=pdp10-unknown 13073965be93Schristos ;; 13083965be93Schristos pdp11) 13093965be93Schristos basic_machine=pdp11-dec 13103965be93Schristos ;; 13113965be93Schristos we32k) 13123965be93Schristos basic_machine=we32k-att 13133965be93Schristos ;; 13143965be93Schristos sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 13153965be93Schristos basic_machine=sh-unknown 13163965be93Schristos ;; 13173965be93Schristos sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 13183965be93Schristos basic_machine=sparc-sun 13193965be93Schristos ;; 13203965be93Schristos cydra) 13213965be93Schristos basic_machine=cydra-cydrome 13223965be93Schristos ;; 13233965be93Schristos orion) 13243965be93Schristos basic_machine=orion-highlevel 13253965be93Schristos ;; 13263965be93Schristos orion105) 13273965be93Schristos basic_machine=clipper-highlevel 13283965be93Schristos ;; 13293965be93Schristos mac | mpw | mac-mpw) 13303965be93Schristos basic_machine=m68k-apple 13313965be93Schristos ;; 13323965be93Schristos pmac | pmac-mpw) 13333965be93Schristos basic_machine=powerpc-apple 13343965be93Schristos ;; 13353965be93Schristos *-unknown) 13363965be93Schristos # Make sure to match an already-canonicalized machine name. 13373965be93Schristos ;; 13383965be93Schristos *) 13393965be93Schristos echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 13403965be93Schristos exit 1 13413965be93Schristos ;; 13423965be93Schristosesac 13433965be93Schristos 13443965be93Schristos# Here we canonicalize certain aliases for manufacturers. 13453965be93Schristoscase $basic_machine in 13463965be93Schristos *-digital*) 13473965be93Schristos basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 13483965be93Schristos ;; 13493965be93Schristos *-commodore*) 13503965be93Schristos basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 13513965be93Schristos ;; 13523965be93Schristos *) 13533965be93Schristos ;; 13543965be93Schristosesac 13553965be93Schristos 13563965be93Schristos# Decode manufacturer-specific aliases for certain operating systems. 13573965be93Schristos 13583965be93Schristosif [ x"$os" != x"" ] 13593965be93Schristosthen 13603965be93Schristoscase $os in 13613965be93Schristos # First match some system type aliases 13623965be93Schristos # that might get confused with valid system types. 13633965be93Schristos # -solaris* is a basic system type, with this one exception. 13643965be93Schristos -auroraux) 13653965be93Schristos os=-auroraux 13663965be93Schristos ;; 13673965be93Schristos -solaris1 | -solaris1.*) 13683965be93Schristos os=`echo $os | sed -e 's|solaris1|sunos4|'` 13693965be93Schristos ;; 13703965be93Schristos -solaris) 13713965be93Schristos os=-solaris2 13723965be93Schristos ;; 13733965be93Schristos -svr4*) 13743965be93Schristos os=-sysv4 13753965be93Schristos ;; 13763965be93Schristos -unixware*) 13773965be93Schristos os=-sysv4.2uw 13783965be93Schristos ;; 13793965be93Schristos -gnu/linux*) 13803965be93Schristos os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13813965be93Schristos ;; 13823965be93Schristos # First accept the basic system types. 13833965be93Schristos # The portable systems comes first. 13843965be93Schristos # Each alternative MUST END IN A *, to match a version number. 13853965be93Schristos # -sysv* is not here because it comes later, after sysvr4. 13863965be93Schristos -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13873965be93Schristos | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13883965be93Schristos | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13893965be93Schristos | -sym* | -kopensolaris* | -plan9* \ 13903965be93Schristos | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1391*07146da4Schristos | -aos* | -aros* | -cloudabi* | -sortix* \ 13923965be93Schristos | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13933965be93Schristos | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13943965be93Schristos | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1395*07146da4Schristos | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13963965be93Schristos | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13973965be93Schristos | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13983965be93Schristos | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13993965be93Schristos | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1400*07146da4Schristos | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 14013965be93Schristos | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1402*07146da4Schristos | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 14033965be93Schristos | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1404*07146da4Schristos | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 14053965be93Schristos | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 14063965be93Schristos | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 14073965be93Schristos | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 14083965be93Schristos | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 14093965be93Schristos | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 14103965be93Schristos | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1411*07146da4Schristos | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1412*07146da4Schristos | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) 14133965be93Schristos # Remember, each alternative MUST END IN *, to match a version number. 14143965be93Schristos ;; 14153965be93Schristos -qnx*) 14163965be93Schristos case $basic_machine in 14173965be93Schristos x86-* | i*86-*) 14183965be93Schristos ;; 14193965be93Schristos *) 14203965be93Schristos os=-nto$os 14213965be93Schristos ;; 14223965be93Schristos esac 14233965be93Schristos ;; 14243965be93Schristos -nto-qnx*) 14253965be93Schristos ;; 14263965be93Schristos -nto*) 14273965be93Schristos os=`echo $os | sed -e 's|nto|nto-qnx|'` 14283965be93Schristos ;; 14293965be93Schristos -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14303965be93Schristos | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 14313965be93Schristos | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14323965be93Schristos ;; 14333965be93Schristos -mac*) 14343965be93Schristos os=`echo $os | sed -e 's|mac|macos|'` 14353965be93Schristos ;; 14363965be93Schristos -linux-dietlibc) 14373965be93Schristos os=-linux-dietlibc 14383965be93Schristos ;; 14393965be93Schristos -linux*) 14403965be93Schristos os=`echo $os | sed -e 's|linux|linux-gnu|'` 14413965be93Schristos ;; 14423965be93Schristos -sunos5*) 14433965be93Schristos os=`echo $os | sed -e 's|sunos5|solaris2|'` 14443965be93Schristos ;; 14453965be93Schristos -sunos6*) 14463965be93Schristos os=`echo $os | sed -e 's|sunos6|solaris3|'` 14473965be93Schristos ;; 14483965be93Schristos -opened*) 14493965be93Schristos os=-openedition 14503965be93Schristos ;; 14513965be93Schristos -os400*) 14523965be93Schristos os=-os400 14533965be93Schristos ;; 14543965be93Schristos -wince*) 14553965be93Schristos os=-wince 14563965be93Schristos ;; 14573965be93Schristos -osfrose*) 14583965be93Schristos os=-osfrose 14593965be93Schristos ;; 14603965be93Schristos -osf*) 14613965be93Schristos os=-osf 14623965be93Schristos ;; 14633965be93Schristos -utek*) 14643965be93Schristos os=-bsd 14653965be93Schristos ;; 14663965be93Schristos -dynix*) 14673965be93Schristos os=-bsd 14683965be93Schristos ;; 14693965be93Schristos -acis*) 14703965be93Schristos os=-aos 14713965be93Schristos ;; 14723965be93Schristos -atheos*) 14733965be93Schristos os=-atheos 14743965be93Schristos ;; 14753965be93Schristos -syllable*) 14763965be93Schristos os=-syllable 14773965be93Schristos ;; 14783965be93Schristos -386bsd) 14793965be93Schristos os=-bsd 14803965be93Schristos ;; 14813965be93Schristos -ctix* | -uts*) 14823965be93Schristos os=-sysv 14833965be93Schristos ;; 14843965be93Schristos -nova*) 14853965be93Schristos os=-rtmk-nova 14863965be93Schristos ;; 14873965be93Schristos -ns2 ) 14883965be93Schristos os=-nextstep2 14893965be93Schristos ;; 14903965be93Schristos -nsk*) 14913965be93Schristos os=-nsk 14923965be93Schristos ;; 14933965be93Schristos # Preserve the version number of sinix5. 14943965be93Schristos -sinix5.*) 14953965be93Schristos os=`echo $os | sed -e 's|sinix|sysv|'` 14963965be93Schristos ;; 14973965be93Schristos -sinix*) 14983965be93Schristos os=-sysv4 14993965be93Schristos ;; 15003965be93Schristos -tpf*) 15013965be93Schristos os=-tpf 15023965be93Schristos ;; 15033965be93Schristos -triton*) 15043965be93Schristos os=-sysv3 15053965be93Schristos ;; 15063965be93Schristos -oss*) 15073965be93Schristos os=-sysv3 15083965be93Schristos ;; 15093965be93Schristos -svr4) 15103965be93Schristos os=-sysv4 15113965be93Schristos ;; 15123965be93Schristos -svr3) 15133965be93Schristos os=-sysv3 15143965be93Schristos ;; 15153965be93Schristos -sysvr4) 15163965be93Schristos os=-sysv4 15173965be93Schristos ;; 15183965be93Schristos # This must come after -sysvr4. 15193965be93Schristos -sysv*) 15203965be93Schristos ;; 15213965be93Schristos -ose*) 15223965be93Schristos os=-ose 15233965be93Schristos ;; 15243965be93Schristos -es1800*) 15253965be93Schristos os=-ose 15263965be93Schristos ;; 15273965be93Schristos -xenix) 15283965be93Schristos os=-xenix 15293965be93Schristos ;; 15303965be93Schristos -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15313965be93Schristos os=-mint 15323965be93Schristos ;; 15333965be93Schristos -aros*) 15343965be93Schristos os=-aros 15353965be93Schristos ;; 15363965be93Schristos -zvmoe) 15373965be93Schristos os=-zvmoe 15383965be93Schristos ;; 15393965be93Schristos -dicos*) 15403965be93Schristos os=-dicos 15413965be93Schristos ;; 15423965be93Schristos -nacl*) 15433965be93Schristos ;; 1544*07146da4Schristos -ios) 1545*07146da4Schristos ;; 15463965be93Schristos -none) 15473965be93Schristos ;; 15483965be93Schristos *) 15493965be93Schristos # Get rid of the `-' at the beginning of $os. 15503965be93Schristos os=`echo $os | sed 's/[^-]*-//'` 15513965be93Schristos echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 15523965be93Schristos exit 1 15533965be93Schristos ;; 15543965be93Schristosesac 15553965be93Schristoselse 15563965be93Schristos 15573965be93Schristos# Here we handle the default operating systems that come with various machines. 15583965be93Schristos# The value should be what the vendor currently ships out the door with their 15593965be93Schristos# machine or put another way, the most popular os provided with the machine. 15603965be93Schristos 15613965be93Schristos# Note that if you're going to try to match "-MANUFACTURER" here (say, 15623965be93Schristos# "-sun"), then you have to tell the case statement up towards the top 15633965be93Schristos# that MANUFACTURER isn't an operating system. Otherwise, code above 15643965be93Schristos# will signal an error saying that MANUFACTURER isn't an operating 15653965be93Schristos# system, and we'll never get to this point. 15663965be93Schristos 15673965be93Schristoscase $basic_machine in 15683965be93Schristos score-*) 15693965be93Schristos os=-elf 15703965be93Schristos ;; 15713965be93Schristos spu-*) 15723965be93Schristos os=-elf 15733965be93Schristos ;; 15743965be93Schristos *-acorn) 15753965be93Schristos os=-riscix1.2 15763965be93Schristos ;; 15773965be93Schristos arm*-rebel) 15783965be93Schristos os=-linux 15793965be93Schristos ;; 15803965be93Schristos arm*-semi) 15813965be93Schristos os=-aout 15823965be93Schristos ;; 15833965be93Schristos c4x-* | tic4x-*) 15843965be93Schristos os=-coff 15853965be93Schristos ;; 1586*07146da4Schristos c8051-*) 1587*07146da4Schristos os=-elf 1588*07146da4Schristos ;; 15893965be93Schristos hexagon-*) 15903965be93Schristos os=-elf 15913965be93Schristos ;; 15923965be93Schristos tic54x-*) 15933965be93Schristos os=-coff 15943965be93Schristos ;; 15953965be93Schristos tic55x-*) 15963965be93Schristos os=-coff 15973965be93Schristos ;; 15983965be93Schristos tic6x-*) 15993965be93Schristos os=-coff 16003965be93Schristos ;; 16013965be93Schristos # This must come before the *-dec entry. 16023965be93Schristos pdp10-*) 16033965be93Schristos os=-tops20 16043965be93Schristos ;; 16053965be93Schristos pdp11-*) 16063965be93Schristos os=-none 16073965be93Schristos ;; 16083965be93Schristos *-dec | vax-*) 16093965be93Schristos os=-ultrix4.2 16103965be93Schristos ;; 16113965be93Schristos m68*-apollo) 16123965be93Schristos os=-domain 16133965be93Schristos ;; 16143965be93Schristos i386-sun) 16153965be93Schristos os=-sunos4.0.2 16163965be93Schristos ;; 16173965be93Schristos m68000-sun) 16183965be93Schristos os=-sunos3 16193965be93Schristos ;; 16203965be93Schristos m68*-cisco) 16213965be93Schristos os=-aout 16223965be93Schristos ;; 16233965be93Schristos mep-*) 16243965be93Schristos os=-elf 16253965be93Schristos ;; 16263965be93Schristos mips*-cisco) 16273965be93Schristos os=-elf 16283965be93Schristos ;; 16293965be93Schristos mips*-*) 16303965be93Schristos os=-elf 16313965be93Schristos ;; 16323965be93Schristos or32-*) 16333965be93Schristos os=-coff 16343965be93Schristos ;; 16353965be93Schristos *-tti) # must be before sparc entry or we get the wrong os. 16363965be93Schristos os=-sysv3 16373965be93Schristos ;; 16383965be93Schristos sparc-* | *-sun) 16393965be93Schristos os=-sunos4.1.1 16403965be93Schristos ;; 1641*07146da4Schristos pru-*) 1642*07146da4Schristos os=-elf 1643*07146da4Schristos ;; 16443965be93Schristos *-be) 16453965be93Schristos os=-beos 16463965be93Schristos ;; 16473965be93Schristos *-haiku) 16483965be93Schristos os=-haiku 16493965be93Schristos ;; 16503965be93Schristos *-ibm) 16513965be93Schristos os=-aix 16523965be93Schristos ;; 16533965be93Schristos *-knuth) 16543965be93Schristos os=-mmixware 16553965be93Schristos ;; 16563965be93Schristos *-wec) 16573965be93Schristos os=-proelf 16583965be93Schristos ;; 16593965be93Schristos *-winbond) 16603965be93Schristos os=-proelf 16613965be93Schristos ;; 16623965be93Schristos *-oki) 16633965be93Schristos os=-proelf 16643965be93Schristos ;; 16653965be93Schristos *-hp) 16663965be93Schristos os=-hpux 16673965be93Schristos ;; 16683965be93Schristos *-hitachi) 16693965be93Schristos os=-hiux 16703965be93Schristos ;; 16713965be93Schristos i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16723965be93Schristos os=-sysv 16733965be93Schristos ;; 16743965be93Schristos *-cbm) 16753965be93Schristos os=-amigaos 16763965be93Schristos ;; 16773965be93Schristos *-dg) 16783965be93Schristos os=-dgux 16793965be93Schristos ;; 16803965be93Schristos *-dolphin) 16813965be93Schristos os=-sysv3 16823965be93Schristos ;; 16833965be93Schristos m68k-ccur) 16843965be93Schristos os=-rtu 16853965be93Schristos ;; 16863965be93Schristos m88k-omron*) 16873965be93Schristos os=-luna 16883965be93Schristos ;; 16893965be93Schristos *-next ) 16903965be93Schristos os=-nextstep 16913965be93Schristos ;; 16923965be93Schristos *-sequent) 16933965be93Schristos os=-ptx 16943965be93Schristos ;; 16953965be93Schristos *-crds) 16963965be93Schristos os=-unos 16973965be93Schristos ;; 16983965be93Schristos *-ns) 16993965be93Schristos os=-genix 17003965be93Schristos ;; 17013965be93Schristos i370-*) 17023965be93Schristos os=-mvs 17033965be93Schristos ;; 17043965be93Schristos *-next) 17053965be93Schristos os=-nextstep3 17063965be93Schristos ;; 17073965be93Schristos *-gould) 17083965be93Schristos os=-sysv 17093965be93Schristos ;; 17103965be93Schristos *-highlevel) 17113965be93Schristos os=-bsd 17123965be93Schristos ;; 17133965be93Schristos *-encore) 17143965be93Schristos os=-bsd 17153965be93Schristos ;; 17163965be93Schristos *-sgi) 17173965be93Schristos os=-irix 17183965be93Schristos ;; 17193965be93Schristos *-siemens) 17203965be93Schristos os=-sysv4 17213965be93Schristos ;; 17223965be93Schristos *-masscomp) 17233965be93Schristos os=-rtu 17243965be93Schristos ;; 17253965be93Schristos f30[01]-fujitsu | f700-fujitsu) 17263965be93Schristos os=-uxpv 17273965be93Schristos ;; 17283965be93Schristos *-rom68k) 17293965be93Schristos os=-coff 17303965be93Schristos ;; 17313965be93Schristos *-*bug) 17323965be93Schristos os=-coff 17333965be93Schristos ;; 17343965be93Schristos *-apple) 17353965be93Schristos os=-macos 17363965be93Schristos ;; 17373965be93Schristos *-atari*) 17383965be93Schristos os=-mint 17393965be93Schristos ;; 17403965be93Schristos *) 17413965be93Schristos os=-none 17423965be93Schristos ;; 17433965be93Schristosesac 17443965be93Schristosfi 17453965be93Schristos 17463965be93Schristos# Here we handle the case where we know the os, and the CPU type, but not the 17473965be93Schristos# manufacturer. We pick the logical manufacturer. 17483965be93Schristosvendor=unknown 17493965be93Schristoscase $basic_machine in 17503965be93Schristos *-unknown) 17513965be93Schristos case $os in 17523965be93Schristos -riscix*) 17533965be93Schristos vendor=acorn 17543965be93Schristos ;; 17553965be93Schristos -sunos*) 17563965be93Schristos vendor=sun 17573965be93Schristos ;; 17583965be93Schristos -cnk*|-aix*) 17593965be93Schristos vendor=ibm 17603965be93Schristos ;; 17613965be93Schristos -beos*) 17623965be93Schristos vendor=be 17633965be93Schristos ;; 17643965be93Schristos -hpux*) 17653965be93Schristos vendor=hp 17663965be93Schristos ;; 17673965be93Schristos -mpeix*) 17683965be93Schristos vendor=hp 17693965be93Schristos ;; 17703965be93Schristos -hiux*) 17713965be93Schristos vendor=hitachi 17723965be93Schristos ;; 17733965be93Schristos -unos*) 17743965be93Schristos vendor=crds 17753965be93Schristos ;; 17763965be93Schristos -dgux*) 17773965be93Schristos vendor=dg 17783965be93Schristos ;; 17793965be93Schristos -luna*) 17803965be93Schristos vendor=omron 17813965be93Schristos ;; 17823965be93Schristos -genix*) 17833965be93Schristos vendor=ns 17843965be93Schristos ;; 17853965be93Schristos -mvs* | -opened*) 17863965be93Schristos vendor=ibm 17873965be93Schristos ;; 17883965be93Schristos -os400*) 17893965be93Schristos vendor=ibm 17903965be93Schristos ;; 17913965be93Schristos -ptx*) 17923965be93Schristos vendor=sequent 17933965be93Schristos ;; 17943965be93Schristos -tpf*) 17953965be93Schristos vendor=ibm 17963965be93Schristos ;; 17973965be93Schristos -vxsim* | -vxworks* | -windiss*) 17983965be93Schristos vendor=wrs 17993965be93Schristos ;; 18003965be93Schristos -aux*) 18013965be93Schristos vendor=apple 18023965be93Schristos ;; 18033965be93Schristos -hms*) 18043965be93Schristos vendor=hitachi 18053965be93Schristos ;; 18063965be93Schristos -mpw* | -macos*) 18073965be93Schristos vendor=apple 18083965be93Schristos ;; 18093965be93Schristos -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 18103965be93Schristos vendor=atari 18113965be93Schristos ;; 18123965be93Schristos -vos*) 18133965be93Schristos vendor=stratus 18143965be93Schristos ;; 18153965be93Schristos esac 18163965be93Schristos basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 18173965be93Schristos ;; 18183965be93Schristosesac 18193965be93Schristos 18203965be93Schristosecho $basic_machine$os 18213965be93Schristosexit 18223965be93Schristos 18233965be93Schristos# Local variables: 18243965be93Schristos# eval: (add-hook 'write-file-hooks 'time-stamp) 18253965be93Schristos# time-stamp-start: "timestamp='" 18263965be93Schristos# time-stamp-format: "%:y-%02m-%02d" 18273965be93Schristos# time-stamp-end: "'" 18283965be93Schristos# End: 1829