1cdf0e10cSrcweir#! /bin/sh 2cdf0e10cSrcweir# Configuration validation subroutine script. 3*aa9f3106Smseidel# Copyright 1992-2020 Free Software Foundation, Inc. 4cdf0e10cSrcweir 5*aa9f3106Smseideltimestamp='2020-01-01' 6cdf0e10cSrcweir 7ee1eb700SMatthias Seidel# This file is free software; you can redistribute it and/or modify it 8ee1eb700SMatthias Seidel# under the terms of the GNU General Public License as published by 9ee1eb700SMatthias Seidel# the Free Software Foundation; either version 3 of the License, or 10cdf0e10cSrcweir# (at your option) any later version. 11cdf0e10cSrcweir# 12ee1eb700SMatthias Seidel# This program is distributed in the hope that it will be useful, but 13ee1eb700SMatthias Seidel# WITHOUT ANY WARRANTY; without even the implied warranty of 14ee1eb700SMatthias Seidel# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15ee1eb700SMatthias Seidel# General Public License for more details. 16cdf0e10cSrcweir# 17cdf0e10cSrcweir# You should have received a copy of the GNU General Public License 18ee1eb700SMatthias Seidel# along with this program; if not, see <https://www.gnu.org/licenses/>. 19187b4248SPedro Giffuni# 20cdf0e10cSrcweir# As a special exception to the GNU General Public License, if you 21cdf0e10cSrcweir# distribute this file as part of a program that contains a 22cdf0e10cSrcweir# configuration script generated by Autoconf, you may include it under 23ee1eb700SMatthias Seidel# the same distribution terms that you use for the rest of that 24ee1eb700SMatthias Seidel# program. This Exception is an additional permission under section 7 25ee1eb700SMatthias Seidel# of the GNU General Public License, version 3 ("GPLv3"). 26cdf0e10cSrcweir 27187b4248SPedro Giffuni 28ee1eb700SMatthias Seidel# Please send patches to <config-patches@gnu.org>. 29cdf0e10cSrcweir# 30cdf0e10cSrcweir# Configuration subroutine to validate and canonicalize a configuration type. 31cdf0e10cSrcweir# Supply the specified configuration type as an argument. 32cdf0e10cSrcweir# If it is invalid, we print an error message on stderr and exit with code 1. 33cdf0e10cSrcweir# Otherwise, we print the canonical config type on stdout and succeed. 34cdf0e10cSrcweir 35187b4248SPedro Giffuni# You can get the latest version of this script from: 36ee1eb700SMatthias Seidel# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37187b4248SPedro Giffuni 38cdf0e10cSrcweir# This file is supposed to be the same for all GNU packages 39cdf0e10cSrcweir# and recognize all the CPU types, system types and aliases 40cdf0e10cSrcweir# that are meaningful with *any* GNU software. 41cdf0e10cSrcweir# Each package is responsible for reporting which valid configurations 42cdf0e10cSrcweir# it does not support. The user should be able to distinguish 43cdf0e10cSrcweir# a failure to support a valid configuration from a meaningless 44cdf0e10cSrcweir# configuration. 45cdf0e10cSrcweir 46cdf0e10cSrcweir# The goal of this file is to map all the various variations of a given 47cdf0e10cSrcweir# machine specification into a single specification in the form: 48cdf0e10cSrcweir# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49cdf0e10cSrcweir# or in some cases, the newer four-part form: 50cdf0e10cSrcweir# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51cdf0e10cSrcweir# It is wrong to echo any other type of specification. 52cdf0e10cSrcweir 53cdf0e10cSrcweirme=`echo "$0" | sed -e 's,.*/,,'` 54cdf0e10cSrcweir 55cdf0e10cSrcweirusage="\ 56ee1eb700SMatthias SeidelUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57cdf0e10cSrcweir 58cdf0e10cSrcweirCanonicalize a configuration name. 59cdf0e10cSrcweir 60ee1eb700SMatthias SeidelOptions: 61cdf0e10cSrcweir -h, --help print this help, then exit 62cdf0e10cSrcweir -t, --time-stamp print date of last modification, then exit 63cdf0e10cSrcweir -v, --version print version number, then exit 64cdf0e10cSrcweir 65cdf0e10cSrcweirReport bugs and patches to <config-patches@gnu.org>." 66cdf0e10cSrcweir 67cdf0e10cSrcweirversion="\ 68cdf0e10cSrcweirGNU config.sub ($timestamp) 69cdf0e10cSrcweir 70*aa9f3106SmseidelCopyright 1992-2020 Free Software Foundation, Inc. 71cdf0e10cSrcweir 72cdf0e10cSrcweirThis is free software; see the source for copying conditions. There is NO 73cdf0e10cSrcweirwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74cdf0e10cSrcweir 75cdf0e10cSrcweirhelp=" 76cdf0e10cSrcweirTry \`$me --help' for more information." 77cdf0e10cSrcweir 78cdf0e10cSrcweir# Parse command line 79cdf0e10cSrcweirwhile test $# -gt 0 ; do 80cdf0e10cSrcweir case $1 in 81cdf0e10cSrcweir --time-stamp | --time* | -t ) 82187b4248SPedro Giffuni echo "$timestamp" ; exit ;; 83cdf0e10cSrcweir --version | -v ) 84187b4248SPedro Giffuni echo "$version" ; exit ;; 85cdf0e10cSrcweir --help | --h* | -h ) 86187b4248SPedro Giffuni echo "$usage"; exit ;; 87cdf0e10cSrcweir -- ) # Stop option processing 88cdf0e10cSrcweir shift; break ;; 89cdf0e10cSrcweir - ) # Use stdin as input. 90cdf0e10cSrcweir break ;; 91cdf0e10cSrcweir -* ) 9282437902SMatthias Seidel echo "$me: invalid option $1$help" >&2 93cdf0e10cSrcweir exit 1 ;; 94cdf0e10cSrcweir 95cdf0e10cSrcweir *local*) 96cdf0e10cSrcweir # First pass through any local machine types. 971a5d95c5SMatthias Seidel echo "$1" 98187b4248SPedro Giffuni exit ;; 99cdf0e10cSrcweir 100cdf0e10cSrcweir * ) 101cdf0e10cSrcweir break ;; 102cdf0e10cSrcweir esac 103cdf0e10cSrcweirdone 104cdf0e10cSrcweir 105cdf0e10cSrcweircase $# in 106cdf0e10cSrcweir 0) echo "$me: missing argument$help" >&2 107cdf0e10cSrcweir exit 1;; 108cdf0e10cSrcweir 1) ;; 109cdf0e10cSrcweir *) echo "$me: too many arguments$help" >&2 110cdf0e10cSrcweir exit 1;; 111cdf0e10cSrcweiresac 112cdf0e10cSrcweir 1131aeda8abSMatthias Seidel# Split fields of configuration type 11482437902SMatthias Seidel# shellcheck disable=SC2162 11582437902SMatthias SeidelIFS="-" read field1 field2 field3 field4 <<EOF 1161aeda8abSMatthias Seidel$1 1171aeda8abSMatthias SeidelEOF 1181aeda8abSMatthias Seidel 1191aeda8abSMatthias Seidel# Separate into logical components for further validation 1201aeda8abSMatthias Seidelcase $1 in 1211aeda8abSMatthias Seidel *-*-*-*-*) 1221aeda8abSMatthias Seidel echo Invalid configuration \`"$1"\': more than four components >&2 1231aeda8abSMatthias Seidel exit 1 1241aeda8abSMatthias Seidel ;; 1251aeda8abSMatthias Seidel *-*-*-*) 1261aeda8abSMatthias Seidel basic_machine=$field1-$field2 1271aeda8abSMatthias Seidel os=$field3-$field4 1281aeda8abSMatthias Seidel ;; 1291aeda8abSMatthias Seidel *-*-*) 1301aeda8abSMatthias Seidel # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 1311aeda8abSMatthias Seidel # parts 1321aeda8abSMatthias Seidel maybe_os=$field2-$field3 133cdf0e10cSrcweir case $maybe_os in 1341aeda8abSMatthias Seidel nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ 1351aeda8abSMatthias Seidel | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ 1361aeda8abSMatthias Seidel | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 1371aeda8abSMatthias Seidel | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 1381aeda8abSMatthias Seidel | storm-chaos* | os2-emx* | rtmk-nova*) 1391aeda8abSMatthias Seidel basic_machine=$field1 1401aeda8abSMatthias Seidel os=$maybe_os 141cdf0e10cSrcweir ;; 142ee1eb700SMatthias Seidel android-linux) 1431aeda8abSMatthias Seidel basic_machine=$field1-unknown 1441aeda8abSMatthias Seidel os=linux-android 145ee1eb700SMatthias Seidel ;; 146cdf0e10cSrcweir *) 1471aeda8abSMatthias Seidel basic_machine=$field1-$field2 1481aeda8abSMatthias Seidel os=$field3 1491aeda8abSMatthias Seidel ;; 1501aeda8abSMatthias Seidel esac 1511aeda8abSMatthias Seidel ;; 1521aeda8abSMatthias Seidel *-*) 15382437902SMatthias Seidel # A lone config we happen to match not fitting any pattern 1541aeda8abSMatthias Seidel case $field1-$field2 in 1551aeda8abSMatthias Seidel decstation-3100) 1561aeda8abSMatthias Seidel basic_machine=mips-dec 1571aeda8abSMatthias Seidel os= 1581aeda8abSMatthias Seidel ;; 1591aeda8abSMatthias Seidel *-*) 1601aeda8abSMatthias Seidel # Second component is usually, but not always the OS 1611aeda8abSMatthias Seidel case $field2 in 1621aeda8abSMatthias Seidel # Prevent following clause from handling this valid os 1631aeda8abSMatthias Seidel sun*os*) 1641aeda8abSMatthias Seidel basic_machine=$field1 1651aeda8abSMatthias Seidel os=$field2 1661aeda8abSMatthias Seidel ;; 1671aeda8abSMatthias Seidel # Manufacturers 1681aeda8abSMatthias Seidel dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 1691aeda8abSMatthias Seidel | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 1701aeda8abSMatthias Seidel | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 1711aeda8abSMatthias Seidel | convergent* | ncr* | news | 32* | 3600* | 3100* \ 1721aeda8abSMatthias Seidel | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ 1731aeda8abSMatthias Seidel | ultra | tti* | harris | dolphin | highlevel | gould \ 1741aeda8abSMatthias Seidel | cbm | ns | masscomp | apple | axis | knuth | cray \ 1751aeda8abSMatthias Seidel | microblaze* | sim | cisco \ 1761aeda8abSMatthias Seidel | oki | wec | wrs | winbond) 1771aeda8abSMatthias Seidel basic_machine=$field1-$field2 1781aeda8abSMatthias Seidel os= 1791aeda8abSMatthias Seidel ;; 1801aeda8abSMatthias Seidel *) 1811aeda8abSMatthias Seidel basic_machine=$field1 1821aeda8abSMatthias Seidel os=$field2 1831aeda8abSMatthias Seidel ;; 1841aeda8abSMatthias Seidel esac 1851aeda8abSMatthias Seidel ;; 1861aeda8abSMatthias Seidel esac 1871aeda8abSMatthias Seidel ;; 1881aeda8abSMatthias Seidel *) 1891aeda8abSMatthias Seidel # Convert single-component short-hands not valid as part of 1901aeda8abSMatthias Seidel # multi-component configurations. 1911aeda8abSMatthias Seidel case $field1 in 1921aeda8abSMatthias Seidel 386bsd) 1931aeda8abSMatthias Seidel basic_machine=i386-pc 1941aeda8abSMatthias Seidel os=bsd 1951aeda8abSMatthias Seidel ;; 1961aeda8abSMatthias Seidel a29khif) 1971aeda8abSMatthias Seidel basic_machine=a29k-amd 1981aeda8abSMatthias Seidel os=udi 1991aeda8abSMatthias Seidel ;; 2001aeda8abSMatthias Seidel adobe68k) 2011aeda8abSMatthias Seidel basic_machine=m68010-adobe 2021aeda8abSMatthias Seidel os=scout 2031aeda8abSMatthias Seidel ;; 2041aeda8abSMatthias Seidel alliant) 2051aeda8abSMatthias Seidel basic_machine=fx80-alliant 2061aeda8abSMatthias Seidel os= 2071aeda8abSMatthias Seidel ;; 2081aeda8abSMatthias Seidel altos | altos3068) 2091aeda8abSMatthias Seidel basic_machine=m68k-altos 2101aeda8abSMatthias Seidel os= 2111aeda8abSMatthias Seidel ;; 2121aeda8abSMatthias Seidel am29k) 2131aeda8abSMatthias Seidel basic_machine=a29k-none 2141aeda8abSMatthias Seidel os=bsd 2151aeda8abSMatthias Seidel ;; 2161aeda8abSMatthias Seidel amdahl) 2171aeda8abSMatthias Seidel basic_machine=580-amdahl 2181aeda8abSMatthias Seidel os=sysv 2191aeda8abSMatthias Seidel ;; 2201aeda8abSMatthias Seidel amiga) 2211aeda8abSMatthias Seidel basic_machine=m68k-unknown 2221aeda8abSMatthias Seidel os= 2231aeda8abSMatthias Seidel ;; 2241aeda8abSMatthias Seidel amigaos | amigados) 2251aeda8abSMatthias Seidel basic_machine=m68k-unknown 2261aeda8abSMatthias Seidel os=amigaos 2271aeda8abSMatthias Seidel ;; 2281aeda8abSMatthias Seidel amigaunix | amix) 2291aeda8abSMatthias Seidel basic_machine=m68k-unknown 2301aeda8abSMatthias Seidel os=sysv4 2311aeda8abSMatthias Seidel ;; 2321aeda8abSMatthias Seidel apollo68) 2331aeda8abSMatthias Seidel basic_machine=m68k-apollo 2341aeda8abSMatthias Seidel os=sysv 2351aeda8abSMatthias Seidel ;; 2361aeda8abSMatthias Seidel apollo68bsd) 2371aeda8abSMatthias Seidel basic_machine=m68k-apollo 2381aeda8abSMatthias Seidel os=bsd 2391aeda8abSMatthias Seidel ;; 2401aeda8abSMatthias Seidel aros) 2411aeda8abSMatthias Seidel basic_machine=i386-pc 2421aeda8abSMatthias Seidel os=aros 2431aeda8abSMatthias Seidel ;; 2441aeda8abSMatthias Seidel aux) 2451aeda8abSMatthias Seidel basic_machine=m68k-apple 2461aeda8abSMatthias Seidel os=aux 2471aeda8abSMatthias Seidel ;; 2481aeda8abSMatthias Seidel balance) 2491aeda8abSMatthias Seidel basic_machine=ns32k-sequent 2501aeda8abSMatthias Seidel os=dynix 2511aeda8abSMatthias Seidel ;; 2521aeda8abSMatthias Seidel blackfin) 2531aeda8abSMatthias Seidel basic_machine=bfin-unknown 2541aeda8abSMatthias Seidel os=linux 2551aeda8abSMatthias Seidel ;; 2561aeda8abSMatthias Seidel cegcc) 2571aeda8abSMatthias Seidel basic_machine=arm-unknown 2581aeda8abSMatthias Seidel os=cegcc 2591aeda8abSMatthias Seidel ;; 2601aeda8abSMatthias Seidel convex-c1) 2611aeda8abSMatthias Seidel basic_machine=c1-convex 2621aeda8abSMatthias Seidel os=bsd 2631aeda8abSMatthias Seidel ;; 2641aeda8abSMatthias Seidel convex-c2) 2651aeda8abSMatthias Seidel basic_machine=c2-convex 2661aeda8abSMatthias Seidel os=bsd 2671aeda8abSMatthias Seidel ;; 2681aeda8abSMatthias Seidel convex-c32) 2691aeda8abSMatthias Seidel basic_machine=c32-convex 2701aeda8abSMatthias Seidel os=bsd 2711aeda8abSMatthias Seidel ;; 2721aeda8abSMatthias Seidel convex-c34) 2731aeda8abSMatthias Seidel basic_machine=c34-convex 2741aeda8abSMatthias Seidel os=bsd 2751aeda8abSMatthias Seidel ;; 2761aeda8abSMatthias Seidel convex-c38) 2771aeda8abSMatthias Seidel basic_machine=c38-convex 2781aeda8abSMatthias Seidel os=bsd 2791aeda8abSMatthias Seidel ;; 2801aeda8abSMatthias Seidel cray) 2811aeda8abSMatthias Seidel basic_machine=j90-cray 2821aeda8abSMatthias Seidel os=unicos 2831aeda8abSMatthias Seidel ;; 2841aeda8abSMatthias Seidel crds | unos) 2851aeda8abSMatthias Seidel basic_machine=m68k-crds 2861aeda8abSMatthias Seidel os= 2871aeda8abSMatthias Seidel ;; 2881aeda8abSMatthias Seidel da30) 2891aeda8abSMatthias Seidel basic_machine=m68k-da30 2901aeda8abSMatthias Seidel os= 2911aeda8abSMatthias Seidel ;; 2921aeda8abSMatthias Seidel decstation | pmax | pmin | dec3100 | decstatn) 2931aeda8abSMatthias Seidel basic_machine=mips-dec 2941aeda8abSMatthias Seidel os= 2951aeda8abSMatthias Seidel ;; 2961aeda8abSMatthias Seidel delta88) 2971aeda8abSMatthias Seidel basic_machine=m88k-motorola 2981aeda8abSMatthias Seidel os=sysv3 2991aeda8abSMatthias Seidel ;; 3001aeda8abSMatthias Seidel dicos) 3011aeda8abSMatthias Seidel basic_machine=i686-pc 3021aeda8abSMatthias Seidel os=dicos 3031aeda8abSMatthias Seidel ;; 3041aeda8abSMatthias Seidel djgpp) 3051aeda8abSMatthias Seidel basic_machine=i586-pc 3061aeda8abSMatthias Seidel os=msdosdjgpp 3071aeda8abSMatthias Seidel ;; 3081aeda8abSMatthias Seidel ebmon29k) 3091aeda8abSMatthias Seidel basic_machine=a29k-amd 3101aeda8abSMatthias Seidel os=ebmon 3111aeda8abSMatthias Seidel ;; 3121aeda8abSMatthias Seidel es1800 | OSE68k | ose68k | ose | OSE) 3131aeda8abSMatthias Seidel basic_machine=m68k-ericsson 3141aeda8abSMatthias Seidel os=ose 3151aeda8abSMatthias Seidel ;; 3161aeda8abSMatthias Seidel gmicro) 3171aeda8abSMatthias Seidel basic_machine=tron-gmicro 3181aeda8abSMatthias Seidel os=sysv 3191aeda8abSMatthias Seidel ;; 3201aeda8abSMatthias Seidel go32) 3211aeda8abSMatthias Seidel basic_machine=i386-pc 3221aeda8abSMatthias Seidel os=go32 3231aeda8abSMatthias Seidel ;; 3241aeda8abSMatthias Seidel h8300hms) 3251aeda8abSMatthias Seidel basic_machine=h8300-hitachi 3261aeda8abSMatthias Seidel os=hms 3271aeda8abSMatthias Seidel ;; 3281aeda8abSMatthias Seidel h8300xray) 3291aeda8abSMatthias Seidel basic_machine=h8300-hitachi 3301aeda8abSMatthias Seidel os=xray 3311aeda8abSMatthias Seidel ;; 3321aeda8abSMatthias Seidel h8500hms) 3331aeda8abSMatthias Seidel basic_machine=h8500-hitachi 3341aeda8abSMatthias Seidel os=hms 3351aeda8abSMatthias Seidel ;; 3361aeda8abSMatthias Seidel harris) 3371aeda8abSMatthias Seidel basic_machine=m88k-harris 3381aeda8abSMatthias Seidel os=sysv3 3391aeda8abSMatthias Seidel ;; 340*aa9f3106Smseidel hp300 | hp300hpux) 3411aeda8abSMatthias Seidel basic_machine=m68k-hp 342*aa9f3106Smseidel os=hpux 3431aeda8abSMatthias Seidel ;; 3441aeda8abSMatthias Seidel hp300bsd) 3451aeda8abSMatthias Seidel basic_machine=m68k-hp 3461aeda8abSMatthias Seidel os=bsd 3471aeda8abSMatthias Seidel ;; 3481aeda8abSMatthias Seidel hppaosf) 3491aeda8abSMatthias Seidel basic_machine=hppa1.1-hp 3501aeda8abSMatthias Seidel os=osf 3511aeda8abSMatthias Seidel ;; 3521aeda8abSMatthias Seidel hppro) 3531aeda8abSMatthias Seidel basic_machine=hppa1.1-hp 3541aeda8abSMatthias Seidel os=proelf 3551aeda8abSMatthias Seidel ;; 3561aeda8abSMatthias Seidel i386mach) 3571aeda8abSMatthias Seidel basic_machine=i386-mach 3581aeda8abSMatthias Seidel os=mach 3591aeda8abSMatthias Seidel ;; 3601aeda8abSMatthias Seidel isi68 | isi) 3611aeda8abSMatthias Seidel basic_machine=m68k-isi 3621aeda8abSMatthias Seidel os=sysv 3631aeda8abSMatthias Seidel ;; 3641aeda8abSMatthias Seidel m68knommu) 3651aeda8abSMatthias Seidel basic_machine=m68k-unknown 3661aeda8abSMatthias Seidel os=linux 3671aeda8abSMatthias Seidel ;; 3681aeda8abSMatthias Seidel magnum | m3230) 3691aeda8abSMatthias Seidel basic_machine=mips-mips 3701aeda8abSMatthias Seidel os=sysv 3711aeda8abSMatthias Seidel ;; 3721aeda8abSMatthias Seidel merlin) 3731aeda8abSMatthias Seidel basic_machine=ns32k-utek 3741aeda8abSMatthias Seidel os=sysv 3751aeda8abSMatthias Seidel ;; 3761aeda8abSMatthias Seidel mingw64) 3771aeda8abSMatthias Seidel basic_machine=x86_64-pc 3781aeda8abSMatthias Seidel os=mingw64 3791aeda8abSMatthias Seidel ;; 3801aeda8abSMatthias Seidel mingw32) 3811aeda8abSMatthias Seidel basic_machine=i686-pc 3821aeda8abSMatthias Seidel os=mingw32 3831aeda8abSMatthias Seidel ;; 3841aeda8abSMatthias Seidel mingw32ce) 3851aeda8abSMatthias Seidel basic_machine=arm-unknown 3861aeda8abSMatthias Seidel os=mingw32ce 3871aeda8abSMatthias Seidel ;; 3881aeda8abSMatthias Seidel monitor) 3891aeda8abSMatthias Seidel basic_machine=m68k-rom68k 3901aeda8abSMatthias Seidel os=coff 3911aeda8abSMatthias Seidel ;; 3921aeda8abSMatthias Seidel morphos) 3931aeda8abSMatthias Seidel basic_machine=powerpc-unknown 3941aeda8abSMatthias Seidel os=morphos 3951aeda8abSMatthias Seidel ;; 3961aeda8abSMatthias Seidel moxiebox) 3971aeda8abSMatthias Seidel basic_machine=moxie-unknown 3981aeda8abSMatthias Seidel os=moxiebox 3991aeda8abSMatthias Seidel ;; 4001aeda8abSMatthias Seidel msdos) 4011aeda8abSMatthias Seidel basic_machine=i386-pc 4021aeda8abSMatthias Seidel os=msdos 4031aeda8abSMatthias Seidel ;; 4041aeda8abSMatthias Seidel msys) 4051aeda8abSMatthias Seidel basic_machine=i686-pc 4061aeda8abSMatthias Seidel os=msys 4071aeda8abSMatthias Seidel ;; 4081aeda8abSMatthias Seidel mvs) 4091aeda8abSMatthias Seidel basic_machine=i370-ibm 4101aeda8abSMatthias Seidel os=mvs 4111aeda8abSMatthias Seidel ;; 4121aeda8abSMatthias Seidel nacl) 4131aeda8abSMatthias Seidel basic_machine=le32-unknown 4141aeda8abSMatthias Seidel os=nacl 4151aeda8abSMatthias Seidel ;; 4161aeda8abSMatthias Seidel ncr3000) 4171aeda8abSMatthias Seidel basic_machine=i486-ncr 4181aeda8abSMatthias Seidel os=sysv4 4191aeda8abSMatthias Seidel ;; 4201aeda8abSMatthias Seidel netbsd386) 4211aeda8abSMatthias Seidel basic_machine=i386-pc 4221aeda8abSMatthias Seidel os=netbsd 4231aeda8abSMatthias Seidel ;; 4241aeda8abSMatthias Seidel netwinder) 4251aeda8abSMatthias Seidel basic_machine=armv4l-rebel 4261aeda8abSMatthias Seidel os=linux 4271aeda8abSMatthias Seidel ;; 4281aeda8abSMatthias Seidel news | news700 | news800 | news900) 4291aeda8abSMatthias Seidel basic_machine=m68k-sony 4301aeda8abSMatthias Seidel os=newsos 4311aeda8abSMatthias Seidel ;; 4321aeda8abSMatthias Seidel news1000) 4331aeda8abSMatthias Seidel basic_machine=m68030-sony 4341aeda8abSMatthias Seidel os=newsos 4351aeda8abSMatthias Seidel ;; 4361aeda8abSMatthias Seidel necv70) 4371aeda8abSMatthias Seidel basic_machine=v70-nec 4381aeda8abSMatthias Seidel os=sysv 4391aeda8abSMatthias Seidel ;; 4401aeda8abSMatthias Seidel nh3000) 4411aeda8abSMatthias Seidel basic_machine=m68k-harris 4421aeda8abSMatthias Seidel os=cxux 4431aeda8abSMatthias Seidel ;; 4441aeda8abSMatthias Seidel nh[45]000) 4451aeda8abSMatthias Seidel basic_machine=m88k-harris 4461aeda8abSMatthias Seidel os=cxux 4471aeda8abSMatthias Seidel ;; 4481aeda8abSMatthias Seidel nindy960) 4491aeda8abSMatthias Seidel basic_machine=i960-intel 4501aeda8abSMatthias Seidel os=nindy 4511aeda8abSMatthias Seidel ;; 4521aeda8abSMatthias Seidel mon960) 4531aeda8abSMatthias Seidel basic_machine=i960-intel 4541aeda8abSMatthias Seidel os=mon960 4551aeda8abSMatthias Seidel ;; 4561aeda8abSMatthias Seidel nonstopux) 4571aeda8abSMatthias Seidel basic_machine=mips-compaq 4581aeda8abSMatthias Seidel os=nonstopux 4591aeda8abSMatthias Seidel ;; 4601aeda8abSMatthias Seidel os400) 4611aeda8abSMatthias Seidel basic_machine=powerpc-ibm 4621aeda8abSMatthias Seidel os=os400 4631aeda8abSMatthias Seidel ;; 4641aeda8abSMatthias Seidel OSE68000 | ose68000) 4651aeda8abSMatthias Seidel basic_machine=m68000-ericsson 4661aeda8abSMatthias Seidel os=ose 4671aeda8abSMatthias Seidel ;; 4681aeda8abSMatthias Seidel os68k) 4691aeda8abSMatthias Seidel basic_machine=m68k-none 4701aeda8abSMatthias Seidel os=os68k 4711aeda8abSMatthias Seidel ;; 4721aeda8abSMatthias Seidel paragon) 4731aeda8abSMatthias Seidel basic_machine=i860-intel 4741aeda8abSMatthias Seidel os=osf 4751aeda8abSMatthias Seidel ;; 4761aeda8abSMatthias Seidel parisc) 4771aeda8abSMatthias Seidel basic_machine=hppa-unknown 4781aeda8abSMatthias Seidel os=linux 4791aeda8abSMatthias Seidel ;; 4801aeda8abSMatthias Seidel pw32) 4811aeda8abSMatthias Seidel basic_machine=i586-unknown 4821aeda8abSMatthias Seidel os=pw32 4831aeda8abSMatthias Seidel ;; 4841aeda8abSMatthias Seidel rdos | rdos64) 4851aeda8abSMatthias Seidel basic_machine=x86_64-pc 4861aeda8abSMatthias Seidel os=rdos 4871aeda8abSMatthias Seidel ;; 4881aeda8abSMatthias Seidel rdos32) 4891aeda8abSMatthias Seidel basic_machine=i386-pc 4901aeda8abSMatthias Seidel os=rdos 4911aeda8abSMatthias Seidel ;; 4921aeda8abSMatthias Seidel rom68k) 4931aeda8abSMatthias Seidel basic_machine=m68k-rom68k 4941aeda8abSMatthias Seidel os=coff 4951aeda8abSMatthias Seidel ;; 4961aeda8abSMatthias Seidel sa29200) 4971aeda8abSMatthias Seidel basic_machine=a29k-amd 4981aeda8abSMatthias Seidel os=udi 4991aeda8abSMatthias Seidel ;; 5001aeda8abSMatthias Seidel sei) 5011aeda8abSMatthias Seidel basic_machine=mips-sei 5021aeda8abSMatthias Seidel os=seiux 5031aeda8abSMatthias Seidel ;; 5041aeda8abSMatthias Seidel sequent) 5051aeda8abSMatthias Seidel basic_machine=i386-sequent 5061aeda8abSMatthias Seidel os= 5071aeda8abSMatthias Seidel ;; 5081aeda8abSMatthias Seidel sps7) 5091aeda8abSMatthias Seidel basic_machine=m68k-bull 5101aeda8abSMatthias Seidel os=sysv2 5111aeda8abSMatthias Seidel ;; 5121aeda8abSMatthias Seidel st2000) 5131aeda8abSMatthias Seidel basic_machine=m68k-tandem 5141aeda8abSMatthias Seidel os= 5151aeda8abSMatthias Seidel ;; 5161aeda8abSMatthias Seidel stratus) 5171aeda8abSMatthias Seidel basic_machine=i860-stratus 5181aeda8abSMatthias Seidel os=sysv4 5191aeda8abSMatthias Seidel ;; 5201aeda8abSMatthias Seidel sun2) 5211aeda8abSMatthias Seidel basic_machine=m68000-sun 5221aeda8abSMatthias Seidel os= 5231aeda8abSMatthias Seidel ;; 5241aeda8abSMatthias Seidel sun2os3) 5251aeda8abSMatthias Seidel basic_machine=m68000-sun 5261aeda8abSMatthias Seidel os=sunos3 5271aeda8abSMatthias Seidel ;; 5281aeda8abSMatthias Seidel sun2os4) 5291aeda8abSMatthias Seidel basic_machine=m68000-sun 5301aeda8abSMatthias Seidel os=sunos4 5311aeda8abSMatthias Seidel ;; 5321aeda8abSMatthias Seidel sun3) 5331aeda8abSMatthias Seidel basic_machine=m68k-sun 5341aeda8abSMatthias Seidel os= 5351aeda8abSMatthias Seidel ;; 5361aeda8abSMatthias Seidel sun3os3) 5371aeda8abSMatthias Seidel basic_machine=m68k-sun 5381aeda8abSMatthias Seidel os=sunos3 5391aeda8abSMatthias Seidel ;; 5401aeda8abSMatthias Seidel sun3os4) 5411aeda8abSMatthias Seidel basic_machine=m68k-sun 5421aeda8abSMatthias Seidel os=sunos4 5431aeda8abSMatthias Seidel ;; 5441aeda8abSMatthias Seidel sun4) 5451aeda8abSMatthias Seidel basic_machine=sparc-sun 5461aeda8abSMatthias Seidel os= 5471aeda8abSMatthias Seidel ;; 5481aeda8abSMatthias Seidel sun4os3) 5491aeda8abSMatthias Seidel basic_machine=sparc-sun 5501aeda8abSMatthias Seidel os=sunos3 5511aeda8abSMatthias Seidel ;; 5521aeda8abSMatthias Seidel sun4os4) 5531aeda8abSMatthias Seidel basic_machine=sparc-sun 5541aeda8abSMatthias Seidel os=sunos4 5551aeda8abSMatthias Seidel ;; 5561aeda8abSMatthias Seidel sun4sol2) 5571aeda8abSMatthias Seidel basic_machine=sparc-sun 5581aeda8abSMatthias Seidel os=solaris2 5591aeda8abSMatthias Seidel ;; 5601aeda8abSMatthias Seidel sun386 | sun386i | roadrunner) 5611aeda8abSMatthias Seidel basic_machine=i386-sun 5621aeda8abSMatthias Seidel os= 5631aeda8abSMatthias Seidel ;; 5641aeda8abSMatthias Seidel sv1) 5651aeda8abSMatthias Seidel basic_machine=sv1-cray 5661aeda8abSMatthias Seidel os=unicos 5671aeda8abSMatthias Seidel ;; 5681aeda8abSMatthias Seidel symmetry) 5691aeda8abSMatthias Seidel basic_machine=i386-sequent 5701aeda8abSMatthias Seidel os=dynix 5711aeda8abSMatthias Seidel ;; 5721aeda8abSMatthias Seidel t3e) 5731aeda8abSMatthias Seidel basic_machine=alphaev5-cray 5741aeda8abSMatthias Seidel os=unicos 5751aeda8abSMatthias Seidel ;; 5761aeda8abSMatthias Seidel t90) 5771aeda8abSMatthias Seidel basic_machine=t90-cray 5781aeda8abSMatthias Seidel os=unicos 5791aeda8abSMatthias Seidel ;; 5801aeda8abSMatthias Seidel toad1) 5811aeda8abSMatthias Seidel basic_machine=pdp10-xkl 5821aeda8abSMatthias Seidel os=tops20 5831aeda8abSMatthias Seidel ;; 5841aeda8abSMatthias Seidel tpf) 5851aeda8abSMatthias Seidel basic_machine=s390x-ibm 5861aeda8abSMatthias Seidel os=tpf 5871aeda8abSMatthias Seidel ;; 5881aeda8abSMatthias Seidel udi29k) 5891aeda8abSMatthias Seidel basic_machine=a29k-amd 5901aeda8abSMatthias Seidel os=udi 5911aeda8abSMatthias Seidel ;; 5921aeda8abSMatthias Seidel ultra3) 5931aeda8abSMatthias Seidel basic_machine=a29k-nyu 5941aeda8abSMatthias Seidel os=sym1 5951aeda8abSMatthias Seidel ;; 5961aeda8abSMatthias Seidel v810 | necv810) 5971aeda8abSMatthias Seidel basic_machine=v810-nec 5981aeda8abSMatthias Seidel os=none 5991aeda8abSMatthias Seidel ;; 6001aeda8abSMatthias Seidel vaxv) 6011aeda8abSMatthias Seidel basic_machine=vax-dec 6021aeda8abSMatthias Seidel os=sysv 6031aeda8abSMatthias Seidel ;; 6041aeda8abSMatthias Seidel vms) 6051aeda8abSMatthias Seidel basic_machine=vax-dec 6061aeda8abSMatthias Seidel os=vms 6071aeda8abSMatthias Seidel ;; 608*aa9f3106Smseidel vsta) 609*aa9f3106Smseidel basic_machine=i386-pc 610*aa9f3106Smseidel os=vsta 611*aa9f3106Smseidel ;; 6121aeda8abSMatthias Seidel vxworks960) 6131aeda8abSMatthias Seidel basic_machine=i960-wrs 6141aeda8abSMatthias Seidel os=vxworks 6151aeda8abSMatthias Seidel ;; 6161aeda8abSMatthias Seidel vxworks68) 6171aeda8abSMatthias Seidel basic_machine=m68k-wrs 6181aeda8abSMatthias Seidel os=vxworks 6191aeda8abSMatthias Seidel ;; 6201aeda8abSMatthias Seidel vxworks29k) 6211aeda8abSMatthias Seidel basic_machine=a29k-wrs 6221aeda8abSMatthias Seidel os=vxworks 6231aeda8abSMatthias Seidel ;; 6241aeda8abSMatthias Seidel xbox) 6251aeda8abSMatthias Seidel basic_machine=i686-pc 6261aeda8abSMatthias Seidel os=mingw32 6271aeda8abSMatthias Seidel ;; 6281aeda8abSMatthias Seidel ymp) 6291aeda8abSMatthias Seidel basic_machine=ymp-cray 6301aeda8abSMatthias Seidel os=unicos 6311aeda8abSMatthias Seidel ;; 6321aeda8abSMatthias Seidel *) 6331aeda8abSMatthias Seidel basic_machine=$1 6341aeda8abSMatthias Seidel os= 6351aeda8abSMatthias Seidel ;; 6361aeda8abSMatthias Seidel esac 637cdf0e10cSrcweir ;; 638cdf0e10cSrcweiresac 639cdf0e10cSrcweir 6401aeda8abSMatthias Seidel# Decode 1-component or ad-hoc basic machines 641cdf0e10cSrcweircase $basic_machine in 6421aeda8abSMatthias Seidel # Here we handle the default manufacturer of certain CPU types. It is in 6431aeda8abSMatthias Seidel # some cases the only manufacturer, in others, it is the most popular. 6441aeda8abSMatthias Seidel w89k) 6451aeda8abSMatthias Seidel cpu=hppa1.1 6461aeda8abSMatthias Seidel vendor=winbond 6471aeda8abSMatthias Seidel ;; 6481aeda8abSMatthias Seidel op50n) 6491aeda8abSMatthias Seidel cpu=hppa1.1 6501aeda8abSMatthias Seidel vendor=oki 6511aeda8abSMatthias Seidel ;; 6521aeda8abSMatthias Seidel op60c) 6531aeda8abSMatthias Seidel cpu=hppa1.1 6541aeda8abSMatthias Seidel vendor=oki 6551aeda8abSMatthias Seidel ;; 6561aeda8abSMatthias Seidel ibm*) 6571aeda8abSMatthias Seidel cpu=i370 6581aeda8abSMatthias Seidel vendor=ibm 6591aeda8abSMatthias Seidel ;; 6601aeda8abSMatthias Seidel orion105) 6611aeda8abSMatthias Seidel cpu=clipper 6621aeda8abSMatthias Seidel vendor=highlevel 6631aeda8abSMatthias Seidel ;; 6641aeda8abSMatthias Seidel mac | mpw | mac-mpw) 6651aeda8abSMatthias Seidel cpu=m68k 6661aeda8abSMatthias Seidel vendor=apple 6671aeda8abSMatthias Seidel ;; 6681aeda8abSMatthias Seidel pmac | pmac-mpw) 6691aeda8abSMatthias Seidel cpu=powerpc 6701aeda8abSMatthias Seidel vendor=apple 6711aeda8abSMatthias Seidel ;; 6721aeda8abSMatthias Seidel 6731aeda8abSMatthias Seidel # Recognize the various machine names and aliases which stand 6741aeda8abSMatthias Seidel # for a CPU type and a company and sometimes even an OS. 6751aeda8abSMatthias Seidel 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 6761aeda8abSMatthias Seidel cpu=m68000 6771aeda8abSMatthias Seidel vendor=att 6781aeda8abSMatthias Seidel ;; 6791aeda8abSMatthias Seidel 3b*) 6801aeda8abSMatthias Seidel cpu=we32k 6811aeda8abSMatthias Seidel vendor=att 6821aeda8abSMatthias Seidel ;; 6831aeda8abSMatthias Seidel bluegene*) 6841aeda8abSMatthias Seidel cpu=powerpc 6851aeda8abSMatthias Seidel vendor=ibm 6861aeda8abSMatthias Seidel os=cnk 6871aeda8abSMatthias Seidel ;; 6881aeda8abSMatthias Seidel decsystem10* | dec10*) 6891aeda8abSMatthias Seidel cpu=pdp10 6901aeda8abSMatthias Seidel vendor=dec 6911aeda8abSMatthias Seidel os=tops10 6921aeda8abSMatthias Seidel ;; 6931aeda8abSMatthias Seidel decsystem20* | dec20*) 6941aeda8abSMatthias Seidel cpu=pdp10 6951aeda8abSMatthias Seidel vendor=dec 6961aeda8abSMatthias Seidel os=tops20 6971aeda8abSMatthias Seidel ;; 6981aeda8abSMatthias Seidel delta | 3300 | motorola-3300 | motorola-delta \ 6991aeda8abSMatthias Seidel | 3300-motorola | delta-motorola) 7001aeda8abSMatthias Seidel cpu=m68k 7011aeda8abSMatthias Seidel vendor=motorola 7021aeda8abSMatthias Seidel ;; 7031aeda8abSMatthias Seidel dpx2*) 7041aeda8abSMatthias Seidel cpu=m68k 7051aeda8abSMatthias Seidel vendor=bull 7061aeda8abSMatthias Seidel os=sysv3 7071aeda8abSMatthias Seidel ;; 7081aeda8abSMatthias Seidel encore | umax | mmax) 7091aeda8abSMatthias Seidel cpu=ns32k 7101aeda8abSMatthias Seidel vendor=encore 7111aeda8abSMatthias Seidel ;; 7121aeda8abSMatthias Seidel elxsi) 7131aeda8abSMatthias Seidel cpu=elxsi 7141aeda8abSMatthias Seidel vendor=elxsi 7151aeda8abSMatthias Seidel os=${os:-bsd} 7161aeda8abSMatthias Seidel ;; 7171aeda8abSMatthias Seidel fx2800) 7181aeda8abSMatthias Seidel cpu=i860 7191aeda8abSMatthias Seidel vendor=alliant 7201aeda8abSMatthias Seidel ;; 7211aeda8abSMatthias Seidel genix) 7221aeda8abSMatthias Seidel cpu=ns32k 7231aeda8abSMatthias Seidel vendor=ns 7241aeda8abSMatthias Seidel ;; 7251aeda8abSMatthias Seidel h3050r* | hiux*) 7261aeda8abSMatthias Seidel cpu=hppa1.1 7271aeda8abSMatthias Seidel vendor=hitachi 7281aeda8abSMatthias Seidel os=hiuxwe2 7291aeda8abSMatthias Seidel ;; 7301aeda8abSMatthias Seidel hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7311aeda8abSMatthias Seidel cpu=hppa1.0 7321aeda8abSMatthias Seidel vendor=hp 7331aeda8abSMatthias Seidel ;; 7341aeda8abSMatthias Seidel hp9k2[0-9][0-9] | hp9k31[0-9]) 7351aeda8abSMatthias Seidel cpu=m68000 7361aeda8abSMatthias Seidel vendor=hp 7371aeda8abSMatthias Seidel ;; 7381aeda8abSMatthias Seidel hp9k3[2-9][0-9]) 7391aeda8abSMatthias Seidel cpu=m68k 7401aeda8abSMatthias Seidel vendor=hp 7411aeda8abSMatthias Seidel ;; 7421aeda8abSMatthias Seidel hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7431aeda8abSMatthias Seidel cpu=hppa1.0 7441aeda8abSMatthias Seidel vendor=hp 7451aeda8abSMatthias Seidel ;; 7461aeda8abSMatthias Seidel hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7471aeda8abSMatthias Seidel cpu=hppa1.1 7481aeda8abSMatthias Seidel vendor=hp 7491aeda8abSMatthias Seidel ;; 7501aeda8abSMatthias Seidel hp9k78[0-9] | hp78[0-9]) 7511aeda8abSMatthias Seidel # FIXME: really hppa2.0-hp 7521aeda8abSMatthias Seidel cpu=hppa1.1 7531aeda8abSMatthias Seidel vendor=hp 7541aeda8abSMatthias Seidel ;; 7551aeda8abSMatthias Seidel hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7561aeda8abSMatthias Seidel # FIXME: really hppa2.0-hp 7571aeda8abSMatthias Seidel cpu=hppa1.1 7581aeda8abSMatthias Seidel vendor=hp 7591aeda8abSMatthias Seidel ;; 7601aeda8abSMatthias Seidel hp9k8[0-9][13679] | hp8[0-9][13679]) 7611aeda8abSMatthias Seidel cpu=hppa1.1 7621aeda8abSMatthias Seidel vendor=hp 7631aeda8abSMatthias Seidel ;; 7641aeda8abSMatthias Seidel hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7651aeda8abSMatthias Seidel cpu=hppa1.0 7661aeda8abSMatthias Seidel vendor=hp 7671aeda8abSMatthias Seidel ;; 7681aeda8abSMatthias Seidel i*86v32) 7691aeda8abSMatthias Seidel cpu=`echo "$1" | sed -e 's/86.*/86/'` 7701aeda8abSMatthias Seidel vendor=pc 7711aeda8abSMatthias Seidel os=sysv32 7721aeda8abSMatthias Seidel ;; 7731aeda8abSMatthias Seidel i*86v4*) 7741aeda8abSMatthias Seidel cpu=`echo "$1" | sed -e 's/86.*/86/'` 7751aeda8abSMatthias Seidel vendor=pc 7761aeda8abSMatthias Seidel os=sysv4 7771aeda8abSMatthias Seidel ;; 7781aeda8abSMatthias Seidel i*86v) 7791aeda8abSMatthias Seidel cpu=`echo "$1" | sed -e 's/86.*/86/'` 7801aeda8abSMatthias Seidel vendor=pc 7811aeda8abSMatthias Seidel os=sysv 7821aeda8abSMatthias Seidel ;; 7831aeda8abSMatthias Seidel i*86sol2) 7841aeda8abSMatthias Seidel cpu=`echo "$1" | sed -e 's/86.*/86/'` 7851aeda8abSMatthias Seidel vendor=pc 7861aeda8abSMatthias Seidel os=solaris2 7871aeda8abSMatthias Seidel ;; 7881aeda8abSMatthias Seidel j90 | j90-cray) 7891aeda8abSMatthias Seidel cpu=j90 7901aeda8abSMatthias Seidel vendor=cray 7911aeda8abSMatthias Seidel os=${os:-unicos} 7921aeda8abSMatthias Seidel ;; 7931aeda8abSMatthias Seidel iris | iris4d) 7941aeda8abSMatthias Seidel cpu=mips 7951aeda8abSMatthias Seidel vendor=sgi 7961aeda8abSMatthias Seidel case $os in 7971aeda8abSMatthias Seidel irix*) 7981aeda8abSMatthias Seidel ;; 7991aeda8abSMatthias Seidel *) 8001aeda8abSMatthias Seidel os=irix4 8011aeda8abSMatthias Seidel ;; 8021aeda8abSMatthias Seidel esac 8031aeda8abSMatthias Seidel ;; 8041aeda8abSMatthias Seidel miniframe) 8051aeda8abSMatthias Seidel cpu=m68000 8061aeda8abSMatthias Seidel vendor=convergent 8071aeda8abSMatthias Seidel ;; 8081aeda8abSMatthias Seidel *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 8091aeda8abSMatthias Seidel cpu=m68k 8101aeda8abSMatthias Seidel vendor=atari 8111aeda8abSMatthias Seidel os=mint 8121aeda8abSMatthias Seidel ;; 8131aeda8abSMatthias Seidel news-3600 | risc-news) 8141aeda8abSMatthias Seidel cpu=mips 8151aeda8abSMatthias Seidel vendor=sony 8161aeda8abSMatthias Seidel os=newsos 8171aeda8abSMatthias Seidel ;; 8181aeda8abSMatthias Seidel next | m*-next) 8191aeda8abSMatthias Seidel cpu=m68k 8201aeda8abSMatthias Seidel vendor=next 8211aeda8abSMatthias Seidel case $os in 82282437902SMatthias Seidel openstep*) 82382437902SMatthias Seidel ;; 8241aeda8abSMatthias Seidel nextstep*) 8251aeda8abSMatthias Seidel ;; 8261aeda8abSMatthias Seidel ns2*) 8271aeda8abSMatthias Seidel os=nextstep2 8281aeda8abSMatthias Seidel ;; 8291aeda8abSMatthias Seidel *) 8301aeda8abSMatthias Seidel os=nextstep3 8311aeda8abSMatthias Seidel ;; 8321aeda8abSMatthias Seidel esac 8331aeda8abSMatthias Seidel ;; 8341aeda8abSMatthias Seidel np1) 8351aeda8abSMatthias Seidel cpu=np1 8361aeda8abSMatthias Seidel vendor=gould 8371aeda8abSMatthias Seidel ;; 8381aeda8abSMatthias Seidel op50n-* | op60c-*) 8391aeda8abSMatthias Seidel cpu=hppa1.1 8401aeda8abSMatthias Seidel vendor=oki 8411aeda8abSMatthias Seidel os=proelf 8421aeda8abSMatthias Seidel ;; 8431aeda8abSMatthias Seidel pa-hitachi) 8441aeda8abSMatthias Seidel cpu=hppa1.1 8451aeda8abSMatthias Seidel vendor=hitachi 8461aeda8abSMatthias Seidel os=hiuxwe2 8471aeda8abSMatthias Seidel ;; 8481aeda8abSMatthias Seidel pbd) 8491aeda8abSMatthias Seidel cpu=sparc 8501aeda8abSMatthias Seidel vendor=tti 8511aeda8abSMatthias Seidel ;; 8521aeda8abSMatthias Seidel pbb) 8531aeda8abSMatthias Seidel cpu=m68k 8541aeda8abSMatthias Seidel vendor=tti 8551aeda8abSMatthias Seidel ;; 8561aeda8abSMatthias Seidel pc532) 8571aeda8abSMatthias Seidel cpu=ns32k 8581aeda8abSMatthias Seidel vendor=pc532 8591aeda8abSMatthias Seidel ;; 8601aeda8abSMatthias Seidel pn) 8611aeda8abSMatthias Seidel cpu=pn 8621aeda8abSMatthias Seidel vendor=gould 8631aeda8abSMatthias Seidel ;; 8641aeda8abSMatthias Seidel power) 8651aeda8abSMatthias Seidel cpu=power 8661aeda8abSMatthias Seidel vendor=ibm 8671aeda8abSMatthias Seidel ;; 8681aeda8abSMatthias Seidel ps2) 8691aeda8abSMatthias Seidel cpu=i386 8701aeda8abSMatthias Seidel vendor=ibm 8711aeda8abSMatthias Seidel ;; 8721aeda8abSMatthias Seidel rm[46]00) 8731aeda8abSMatthias Seidel cpu=mips 8741aeda8abSMatthias Seidel vendor=siemens 8751aeda8abSMatthias Seidel ;; 8761aeda8abSMatthias Seidel rtpc | rtpc-*) 8771aeda8abSMatthias Seidel cpu=romp 8781aeda8abSMatthias Seidel vendor=ibm 8791aeda8abSMatthias Seidel ;; 8801aeda8abSMatthias Seidel sde) 8811aeda8abSMatthias Seidel cpu=mipsisa32 8821aeda8abSMatthias Seidel vendor=sde 8831aeda8abSMatthias Seidel os=${os:-elf} 8841aeda8abSMatthias Seidel ;; 8851aeda8abSMatthias Seidel simso-wrs) 8861aeda8abSMatthias Seidel cpu=sparclite 8871aeda8abSMatthias Seidel vendor=wrs 8881aeda8abSMatthias Seidel os=vxworks 8891aeda8abSMatthias Seidel ;; 8901aeda8abSMatthias Seidel tower | tower-32) 8911aeda8abSMatthias Seidel cpu=m68k 8921aeda8abSMatthias Seidel vendor=ncr 8931aeda8abSMatthias Seidel ;; 8941aeda8abSMatthias Seidel vpp*|vx|vx-*) 8951aeda8abSMatthias Seidel cpu=f301 8961aeda8abSMatthias Seidel vendor=fujitsu 8971aeda8abSMatthias Seidel ;; 8981aeda8abSMatthias Seidel w65) 8991aeda8abSMatthias Seidel cpu=w65 9001aeda8abSMatthias Seidel vendor=wdc 9011aeda8abSMatthias Seidel ;; 9021aeda8abSMatthias Seidel w89k-*) 9031aeda8abSMatthias Seidel cpu=hppa1.1 9041aeda8abSMatthias Seidel vendor=winbond 9051aeda8abSMatthias Seidel os=proelf 9061aeda8abSMatthias Seidel ;; 9071aeda8abSMatthias Seidel none) 9081aeda8abSMatthias Seidel cpu=none 9091aeda8abSMatthias Seidel vendor=none 9101aeda8abSMatthias Seidel ;; 9111aeda8abSMatthias Seidel leon|leon[3-9]) 9121aeda8abSMatthias Seidel cpu=sparc 9131aeda8abSMatthias Seidel vendor=$basic_machine 9141aeda8abSMatthias Seidel ;; 9151aeda8abSMatthias Seidel leon-*|leon[3-9]-*) 9161aeda8abSMatthias Seidel cpu=sparc 9171aeda8abSMatthias Seidel vendor=`echo "$basic_machine" | sed 's/-.*//'` 9181aeda8abSMatthias Seidel ;; 9191aeda8abSMatthias Seidel 9201aeda8abSMatthias Seidel *-*) 92182437902SMatthias Seidel # shellcheck disable=SC2162 92282437902SMatthias Seidel IFS="-" read cpu vendor <<EOF 9231aeda8abSMatthias Seidel$basic_machine 9241aeda8abSMatthias SeidelEOF 9251aeda8abSMatthias Seidel ;; 9261aeda8abSMatthias Seidel # We use `pc' rather than `unknown' 9271aeda8abSMatthias Seidel # because (1) that's what they normally are, and 9281aeda8abSMatthias Seidel # (2) the word "unknown" tends to confuse beginning users. 9291aeda8abSMatthias Seidel i*86 | x86_64) 9301aeda8abSMatthias Seidel cpu=$basic_machine 9311aeda8abSMatthias Seidel vendor=pc 9321aeda8abSMatthias Seidel ;; 9331aeda8abSMatthias Seidel # These rules are duplicated from below for sake of the special case above; 9341aeda8abSMatthias Seidel # i.e. things that normalized to x86 arches should also default to "pc" 9351aeda8abSMatthias Seidel pc98) 9361aeda8abSMatthias Seidel cpu=i386 9371aeda8abSMatthias Seidel vendor=pc 9381aeda8abSMatthias Seidel ;; 9391aeda8abSMatthias Seidel x64 | amd64) 9401aeda8abSMatthias Seidel cpu=x86_64 9411aeda8abSMatthias Seidel vendor=pc 9421aeda8abSMatthias Seidel ;; 943cdf0e10cSrcweir # Recognize the basic CPU types without company name. 9441aeda8abSMatthias Seidel *) 9451aeda8abSMatthias Seidel cpu=$basic_machine 9461aeda8abSMatthias Seidel vendor=unknown 9471aeda8abSMatthias Seidel ;; 9481aeda8abSMatthias Seidelesac 9491aeda8abSMatthias Seidel 9501aeda8abSMatthias Seidelunset -v basic_machine 9511aeda8abSMatthias Seidel 9521aeda8abSMatthias Seidel# Decode basic machines in the full and proper CPU-Company form. 9531aeda8abSMatthias Seidelcase $cpu-$vendor in 95482437902SMatthias Seidel # Here we handle the default manufacturer of certain CPU types in canonical form. It is in 9551aeda8abSMatthias Seidel # some cases the only manufacturer, in others, it is the most popular. 9561aeda8abSMatthias Seidel craynv-unknown) 9571aeda8abSMatthias Seidel vendor=cray 9581aeda8abSMatthias Seidel os=${os:-unicosmp} 9591aeda8abSMatthias Seidel ;; 9601aeda8abSMatthias Seidel c90-unknown | c90-cray) 9611aeda8abSMatthias Seidel vendor=cray 9621aeda8abSMatthias Seidel os=${os:-unicos} 9631aeda8abSMatthias Seidel ;; 9641aeda8abSMatthias Seidel fx80-unknown) 9651aeda8abSMatthias Seidel vendor=alliant 9661aeda8abSMatthias Seidel ;; 9671aeda8abSMatthias Seidel romp-unknown) 9681aeda8abSMatthias Seidel vendor=ibm 9691aeda8abSMatthias Seidel ;; 9701aeda8abSMatthias Seidel mmix-unknown) 9711aeda8abSMatthias Seidel vendor=knuth 9721aeda8abSMatthias Seidel ;; 9731aeda8abSMatthias Seidel microblaze-unknown | microblazeel-unknown) 9741aeda8abSMatthias Seidel vendor=xilinx 9751aeda8abSMatthias Seidel ;; 9761aeda8abSMatthias Seidel rs6000-unknown) 9771aeda8abSMatthias Seidel vendor=ibm 9781aeda8abSMatthias Seidel ;; 9791aeda8abSMatthias Seidel vax-unknown) 9801aeda8abSMatthias Seidel vendor=dec 9811aeda8abSMatthias Seidel ;; 9821aeda8abSMatthias Seidel pdp11-unknown) 9831aeda8abSMatthias Seidel vendor=dec 9841aeda8abSMatthias Seidel ;; 9851aeda8abSMatthias Seidel we32k-unknown) 9861aeda8abSMatthias Seidel vendor=att 9871aeda8abSMatthias Seidel ;; 9881aeda8abSMatthias Seidel cydra-unknown) 9891aeda8abSMatthias Seidel vendor=cydrome 9901aeda8abSMatthias Seidel ;; 9911aeda8abSMatthias Seidel i370-ibm*) 9921aeda8abSMatthias Seidel vendor=ibm 9931aeda8abSMatthias Seidel ;; 9941aeda8abSMatthias Seidel orion-unknown) 9951aeda8abSMatthias Seidel vendor=highlevel 9961aeda8abSMatthias Seidel ;; 9971aeda8abSMatthias Seidel xps-unknown | xps100-unknown) 9981aeda8abSMatthias Seidel cpu=xps100 9991aeda8abSMatthias Seidel vendor=honeywell 10001aeda8abSMatthias Seidel ;; 10011aeda8abSMatthias Seidel 10021aeda8abSMatthias Seidel # Here we normalize CPU types with a missing or matching vendor 10031aeda8abSMatthias Seidel dpx20-unknown | dpx20-bull) 10041aeda8abSMatthias Seidel cpu=rs6000 10051aeda8abSMatthias Seidel vendor=bull 10061aeda8abSMatthias Seidel os=${os:-bosx} 10071aeda8abSMatthias Seidel ;; 10081aeda8abSMatthias Seidel 10091aeda8abSMatthias Seidel # Here we normalize CPU types irrespective of the vendor 10101aeda8abSMatthias Seidel amd64-*) 10111aeda8abSMatthias Seidel cpu=x86_64 10121aeda8abSMatthias Seidel ;; 10131aeda8abSMatthias Seidel blackfin-*) 10141aeda8abSMatthias Seidel cpu=bfin 10151aeda8abSMatthias Seidel os=linux 10161aeda8abSMatthias Seidel ;; 10171aeda8abSMatthias Seidel c54x-*) 10181aeda8abSMatthias Seidel cpu=tic54x 10191aeda8abSMatthias Seidel ;; 10201aeda8abSMatthias Seidel c55x-*) 10211aeda8abSMatthias Seidel cpu=tic55x 10221aeda8abSMatthias Seidel ;; 10231aeda8abSMatthias Seidel c6x-*) 10241aeda8abSMatthias Seidel cpu=tic6x 10251aeda8abSMatthias Seidel ;; 10261aeda8abSMatthias Seidel e500v[12]-*) 10271aeda8abSMatthias Seidel cpu=powerpc 10281aeda8abSMatthias Seidel os=$os"spe" 10291aeda8abSMatthias Seidel ;; 10301aeda8abSMatthias Seidel mips3*-*) 10311aeda8abSMatthias Seidel cpu=mips64 10321aeda8abSMatthias Seidel ;; 10331aeda8abSMatthias Seidel ms1-*) 10341aeda8abSMatthias Seidel cpu=mt 10351aeda8abSMatthias Seidel ;; 10361aeda8abSMatthias Seidel m68knommu-*) 10371aeda8abSMatthias Seidel cpu=m68k 10381aeda8abSMatthias Seidel os=linux 10391aeda8abSMatthias Seidel ;; 10401aeda8abSMatthias Seidel m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 10411aeda8abSMatthias Seidel cpu=s12z 10421aeda8abSMatthias Seidel ;; 10431aeda8abSMatthias Seidel openrisc-*) 10441aeda8abSMatthias Seidel cpu=or32 10451aeda8abSMatthias Seidel ;; 10461aeda8abSMatthias Seidel parisc-*) 10471aeda8abSMatthias Seidel cpu=hppa 10481aeda8abSMatthias Seidel os=linux 10491aeda8abSMatthias Seidel ;; 10501aeda8abSMatthias Seidel pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10511aeda8abSMatthias Seidel cpu=i586 10521aeda8abSMatthias Seidel ;; 10531aeda8abSMatthias Seidel pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) 10541aeda8abSMatthias Seidel cpu=i686 10551aeda8abSMatthias Seidel ;; 10561aeda8abSMatthias Seidel pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10571aeda8abSMatthias Seidel cpu=i686 10581aeda8abSMatthias Seidel ;; 10591aeda8abSMatthias Seidel pentium4-*) 10601aeda8abSMatthias Seidel cpu=i786 10611aeda8abSMatthias Seidel ;; 10621aeda8abSMatthias Seidel pc98-*) 10631aeda8abSMatthias Seidel cpu=i386 10641aeda8abSMatthias Seidel ;; 10651aeda8abSMatthias Seidel ppc-* | ppcbe-*) 10661aeda8abSMatthias Seidel cpu=powerpc 10671aeda8abSMatthias Seidel ;; 10681aeda8abSMatthias Seidel ppcle-* | powerpclittle-*) 10691aeda8abSMatthias Seidel cpu=powerpcle 10701aeda8abSMatthias Seidel ;; 10711aeda8abSMatthias Seidel ppc64-*) 10721aeda8abSMatthias Seidel cpu=powerpc64 10731aeda8abSMatthias Seidel ;; 10741aeda8abSMatthias Seidel ppc64le-* | powerpc64little-*) 10751aeda8abSMatthias Seidel cpu=powerpc64le 10761aeda8abSMatthias Seidel ;; 10771aeda8abSMatthias Seidel sb1-*) 10781aeda8abSMatthias Seidel cpu=mipsisa64sb1 10791aeda8abSMatthias Seidel ;; 10801aeda8abSMatthias Seidel sb1el-*) 10811aeda8abSMatthias Seidel cpu=mipsisa64sb1el 10821aeda8abSMatthias Seidel ;; 10831aeda8abSMatthias Seidel sh5e[lb]-*) 10841aeda8abSMatthias Seidel cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` 10851aeda8abSMatthias Seidel ;; 10861aeda8abSMatthias Seidel spur-*) 10871aeda8abSMatthias Seidel cpu=spur 10881aeda8abSMatthias Seidel ;; 10891aeda8abSMatthias Seidel strongarm-* | thumb-*) 10901aeda8abSMatthias Seidel cpu=arm 10911aeda8abSMatthias Seidel ;; 10921aeda8abSMatthias Seidel tx39-*) 10931aeda8abSMatthias Seidel cpu=mipstx39 10941aeda8abSMatthias Seidel ;; 10951aeda8abSMatthias Seidel tx39el-*) 10961aeda8abSMatthias Seidel cpu=mipstx39el 10971aeda8abSMatthias Seidel ;; 10981aeda8abSMatthias Seidel x64-*) 10991aeda8abSMatthias Seidel cpu=x86_64 11001aeda8abSMatthias Seidel ;; 11011aeda8abSMatthias Seidel xscale-* | xscalee[bl]-*) 11021aeda8abSMatthias Seidel cpu=`echo "$cpu" | sed 's/^xscale/arm/'` 11031aeda8abSMatthias Seidel ;; 11041aeda8abSMatthias Seidel 110582437902SMatthias Seidel # Recognize the canonical CPU Types that limit and/or modify the 11061aeda8abSMatthias Seidel # company names they are paired with. 11071aeda8abSMatthias Seidel cr16-*) 11081aeda8abSMatthias Seidel os=${os:-elf} 11091aeda8abSMatthias Seidel ;; 11101aeda8abSMatthias Seidel crisv32-* | etraxfs*-*) 11111aeda8abSMatthias Seidel cpu=crisv32 11121aeda8abSMatthias Seidel vendor=axis 11131aeda8abSMatthias Seidel ;; 11141aeda8abSMatthias Seidel cris-* | etrax*-*) 11151aeda8abSMatthias Seidel cpu=cris 11161aeda8abSMatthias Seidel vendor=axis 11171aeda8abSMatthias Seidel ;; 11181aeda8abSMatthias Seidel crx-*) 11191aeda8abSMatthias Seidel os=${os:-elf} 11201aeda8abSMatthias Seidel ;; 11211aeda8abSMatthias Seidel neo-tandem) 11221aeda8abSMatthias Seidel cpu=neo 11231aeda8abSMatthias Seidel vendor=tandem 11241aeda8abSMatthias Seidel ;; 11251aeda8abSMatthias Seidel nse-tandem) 11261aeda8abSMatthias Seidel cpu=nse 11271aeda8abSMatthias Seidel vendor=tandem 11281aeda8abSMatthias Seidel ;; 11291aeda8abSMatthias Seidel nsr-tandem) 11301aeda8abSMatthias Seidel cpu=nsr 11311aeda8abSMatthias Seidel vendor=tandem 11321aeda8abSMatthias Seidel ;; 11331aeda8abSMatthias Seidel nsv-tandem) 11341aeda8abSMatthias Seidel cpu=nsv 11351aeda8abSMatthias Seidel vendor=tandem 11361aeda8abSMatthias Seidel ;; 11371aeda8abSMatthias Seidel nsx-tandem) 11381aeda8abSMatthias Seidel cpu=nsx 11391aeda8abSMatthias Seidel vendor=tandem 11401aeda8abSMatthias Seidel ;; 11411aeda8abSMatthias Seidel s390-*) 11421aeda8abSMatthias Seidel cpu=s390 11431aeda8abSMatthias Seidel vendor=ibm 11441aeda8abSMatthias Seidel ;; 11451aeda8abSMatthias Seidel s390x-*) 11461aeda8abSMatthias Seidel cpu=s390x 11471aeda8abSMatthias Seidel vendor=ibm 11481aeda8abSMatthias Seidel ;; 11491aeda8abSMatthias Seidel tile*-*) 11501aeda8abSMatthias Seidel os=${os:-linux-gnu} 11511aeda8abSMatthias Seidel ;; 11521aeda8abSMatthias Seidel 11531aeda8abSMatthias Seidel *) 115482437902SMatthias Seidel # Recognize the canonical CPU types that are allowed with any 11551aeda8abSMatthias Seidel # company name. 11561aeda8abSMatthias Seidel case $cpu in 1157cdf0e10cSrcweir 1750a | 580 \ 1158cdf0e10cSrcweir | a29k \ 1159ee1eb700SMatthias Seidel | aarch64 | aarch64_be \ 11601aeda8abSMatthias Seidel | abacus \ 11611aeda8abSMatthias Seidel | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ 11621aeda8abSMatthias Seidel | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ 11631aeda8abSMatthias Seidel | alphapca5[67] | alpha64pca5[67] \ 1164187b4248SPedro Giffuni | am33_2.0 \ 116582437902SMatthias Seidel | amdgcn \ 1166ee1eb700SMatthias Seidel | arc | arceb \ 11671aeda8abSMatthias Seidel | arm | arm[lb]e | arme[lb] | armv* \ 1168ee1eb700SMatthias Seidel | avr | avr32 \ 11691aeda8abSMatthias Seidel | asmjs \ 1170ee1eb700SMatthias Seidel | ba \ 1171ee1eb700SMatthias Seidel | be32 | be64 \ 1172*aa9f3106Smseidel | bfin | bpf | bs2000 \ 11731aeda8abSMatthias Seidel | c[123]* | c30 | [cjt]90 | c4x \ 11741aeda8abSMatthias Seidel | c8051 | clipper | craynv | csky | cydra \ 1175cdf0e10cSrcweir | d10v | d30v | dlx | dsp16xx \ 11761aeda8abSMatthias Seidel | e2k | elxsi | epiphany \ 11771aeda8abSMatthias Seidel | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ 11781aeda8abSMatthias Seidel | h8300 | h8500 \ 11791aeda8abSMatthias Seidel | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 1180ee1eb700SMatthias Seidel | hexagon \ 11811aeda8abSMatthias Seidel | i370 | i*86 | i860 | i960 | ia16 | ia64 \ 1182187b4248SPedro Giffuni | ip2k | iq2000 \ 1183ee1eb700SMatthias Seidel | k1om \ 1184ee1eb700SMatthias Seidel | le32 | le64 \ 1185187b4248SPedro Giffuni | lm32 \ 11861aeda8abSMatthias Seidel | m32c | m32r | m32rle \ 118782437902SMatthias Seidel | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ 118882437902SMatthias Seidel | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ 11891aeda8abSMatthias Seidel | m88110 | m88k | maxq | mb | mcore | mep | metag \ 11901aeda8abSMatthias Seidel | microblaze | microblazeel \ 1191cdf0e10cSrcweir | mips | mipsbe | mipseb | mipsel | mipsle \ 1192cdf0e10cSrcweir | mips16 \ 119382437902SMatthias Seidel | mips64 | mips64eb | mips64el \ 1194187b4248SPedro Giffuni | mips64octeon | mips64octeonel \ 119551df27a2SPedro Giffuni | mips64orion | mips64orionel \ 1196187b4248SPedro Giffuni | mips64r5900 | mips64r5900el \ 1197187b4248SPedro Giffuni | mips64vr | mips64vrel \ 1198cdf0e10cSrcweir | mips64vr4100 | mips64vr4100el \ 1199cdf0e10cSrcweir | mips64vr4300 | mips64vr4300el \ 1200cdf0e10cSrcweir | mips64vr5000 | mips64vr5000el \ 1201187b4248SPedro Giffuni | mips64vr5900 | mips64vr5900el \ 1202cdf0e10cSrcweir | mipsisa32 | mipsisa32el \ 1203cdf0e10cSrcweir | mipsisa32r2 | mipsisa32r2el \ 1204ee1eb700SMatthias Seidel | mipsisa32r6 | mipsisa32r6el \ 1205cdf0e10cSrcweir | mipsisa64 | mipsisa64el \ 1206187b4248SPedro Giffuni | mipsisa64r2 | mipsisa64r2el \ 1207ee1eb700SMatthias Seidel | mipsisa64r6 | mipsisa64r6el \ 1208cdf0e10cSrcweir | mipsisa64sb1 | mipsisa64sb1el \ 1209cdf0e10cSrcweir | mipsisa64sr71k | mipsisa64sr71kel \ 1210ee1eb700SMatthias Seidel | mipsr5900 | mipsr5900el \ 1211cdf0e10cSrcweir | mipstx39 | mipstx39el \ 12121aeda8abSMatthias Seidel | mmix \ 1213cdf0e10cSrcweir | mn10200 | mn10300 \ 1214187b4248SPedro Giffuni | moxie \ 1215187b4248SPedro Giffuni | mt \ 1216cdf0e10cSrcweir | msp430 \ 1217ee1eb700SMatthias Seidel | nds32 | nds32le | nds32be \ 12181aeda8abSMatthias Seidel | nfp \ 1219ee1eb700SMatthias Seidel | nios | nios2 | nios2eb | nios2el \ 122082437902SMatthias Seidel | none | np1 | ns16k | ns32k | nvptx \ 12211aeda8abSMatthias Seidel | open8 \ 12221aeda8abSMatthias Seidel | or1k* \ 12231aeda8abSMatthias Seidel | or32 \ 12241aeda8abSMatthias Seidel | orion \ 122582437902SMatthias Seidel | picochip \ 12261aeda8abSMatthias Seidel | pdp10 | pdp11 | pj | pjl | pn | power \ 12271aeda8abSMatthias Seidel | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ 1228ee1eb700SMatthias Seidel | pru \ 1229cdf0e10cSrcweir | pyramid \ 12301aeda8abSMatthias Seidel | riscv | riscv32 | riscv64 \ 12311aeda8abSMatthias Seidel | rl78 | romp | rs6000 | rx \ 1232187b4248SPedro Giffuni | score \ 123382437902SMatthias Seidel | sh | shl \ 123482437902SMatthias Seidel | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ 12351aeda8abSMatthias Seidel | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ 12361aeda8abSMatthias Seidel | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ 12371aeda8abSMatthias Seidel | sparclite \ 12381aeda8abSMatthias Seidel | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ 1239ee1eb700SMatthias Seidel | spu \ 12401aeda8abSMatthias Seidel | tahoe \ 12411aeda8abSMatthias Seidel | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ 12421aeda8abSMatthias Seidel | tron \ 1243187b4248SPedro Giffuni | ubicom32 \ 124482437902SMatthias Seidel | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ 12451aeda8abSMatthias Seidel | vax \ 1246ee1eb700SMatthias Seidel | visium \ 124782437902SMatthias Seidel | w65 \ 124882437902SMatthias Seidel | wasm32 | wasm64 \ 12491aeda8abSMatthias Seidel | we32k \ 12501aeda8abSMatthias Seidel | x86 | x86_64 | xc16x | xgate | xps100 \ 12511aeda8abSMatthias Seidel | xstormy16 | xtensa* \ 12521aeda8abSMatthias Seidel | ymp \ 1253187b4248SPedro Giffuni | z8k | z80) 1254187b4248SPedro Giffuni ;; 1255cdf0e10cSrcweir 12561aeda8abSMatthias Seidel *) 12571aeda8abSMatthias Seidel echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 1258cdf0e10cSrcweir exit 1 1259cdf0e10cSrcweir ;; 1260cdf0e10cSrcweir esac 1261cdf0e10cSrcweir ;; 1262cdf0e10cSrcweiresac 1263cdf0e10cSrcweir 1264cdf0e10cSrcweir# Here we canonicalize certain aliases for manufacturers. 12651aeda8abSMatthias Seidelcase $vendor in 12661aeda8abSMatthias Seidel digital*) 12671aeda8abSMatthias Seidel vendor=dec 1268cdf0e10cSrcweir ;; 12691aeda8abSMatthias Seidel commodore*) 12701aeda8abSMatthias Seidel vendor=cbm 1271cdf0e10cSrcweir ;; 1272cdf0e10cSrcweir *) 1273cdf0e10cSrcweir ;; 1274cdf0e10cSrcweiresac 1275cdf0e10cSrcweir 1276cdf0e10cSrcweir# Decode manufacturer-specific aliases for certain operating systems. 1277cdf0e10cSrcweir 12781aeda8abSMatthias Seidelif [ x$os != x ] 1279cdf0e10cSrcweirthen 1280cdf0e10cSrcweircase $os in 1281ee1eb700SMatthias Seidel # First match some system type aliases that might get confused 1282ee1eb700SMatthias Seidel # with valid system types. 12831aeda8abSMatthias Seidel # solaris* is a basic system type, with this one exception. 12841aeda8abSMatthias Seidel auroraux) 12851aeda8abSMatthias Seidel os=auroraux 1286187b4248SPedro Giffuni ;; 12871aeda8abSMatthias Seidel bluegene*) 12881aeda8abSMatthias Seidel os=cnk 12891aeda8abSMatthias Seidel ;; 12901aeda8abSMatthias Seidel solaris1 | solaris1.*) 1291cdf0e10cSrcweir os=`echo $os | sed -e 's|solaris1|sunos4|'` 1292cdf0e10cSrcweir ;; 12931aeda8abSMatthias Seidel solaris) 12941aeda8abSMatthias Seidel os=solaris2 1295cdf0e10cSrcweir ;; 12961aeda8abSMatthias Seidel unixware*) 12971aeda8abSMatthias Seidel os=sysv4.2uw 1298cdf0e10cSrcweir ;; 12991aeda8abSMatthias Seidel gnu/linux*) 1300cdf0e10cSrcweir os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1301cdf0e10cSrcweir ;; 13021a5d95c5SMatthias Seidel # es1800 is here to avoid being matched by es* (a different OS) 13031aeda8abSMatthias Seidel es1800*) 13041aeda8abSMatthias Seidel os=ose 13051aeda8abSMatthias Seidel ;; 13061aeda8abSMatthias Seidel # Some version numbers need modification 13071aeda8abSMatthias Seidel chorusos*) 13081aeda8abSMatthias Seidel os=chorusos 13091aeda8abSMatthias Seidel ;; 13101aeda8abSMatthias Seidel isc) 13111aeda8abSMatthias Seidel os=isc2.2 13121aeda8abSMatthias Seidel ;; 13131aeda8abSMatthias Seidel sco6) 13141aeda8abSMatthias Seidel os=sco5v6 13151aeda8abSMatthias Seidel ;; 13161aeda8abSMatthias Seidel sco5) 13171aeda8abSMatthias Seidel os=sco3.2v5 13181aeda8abSMatthias Seidel ;; 13191aeda8abSMatthias Seidel sco4) 13201aeda8abSMatthias Seidel os=sco3.2v4 13211aeda8abSMatthias Seidel ;; 13221aeda8abSMatthias Seidel sco3.2.[4-9]*) 13231aeda8abSMatthias Seidel os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 13241aeda8abSMatthias Seidel ;; 13251aeda8abSMatthias Seidel sco3.2v[4-9]* | sco5v6*) 13261aeda8abSMatthias Seidel # Don't forget version if it is 3.2v4 or newer. 13271aeda8abSMatthias Seidel ;; 13281aeda8abSMatthias Seidel scout) 13291aeda8abSMatthias Seidel # Don't match below 13301aeda8abSMatthias Seidel ;; 13311aeda8abSMatthias Seidel sco*) 13321aeda8abSMatthias Seidel os=sco3.2v2 13331aeda8abSMatthias Seidel ;; 13341aeda8abSMatthias Seidel psos*) 13351aeda8abSMatthias Seidel os=psos 13361a5d95c5SMatthias Seidel ;; 1337ee1eb700SMatthias Seidel # Now accept the basic system types. 1338cdf0e10cSrcweir # The portable systems comes first. 1339ee1eb700SMatthias Seidel # Each alternative MUST end in a * to match a version number. 13401aeda8abSMatthias Seidel # sysv* is not here because it comes later, after sysvr4. 13411aeda8abSMatthias Seidel gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 13421aeda8abSMatthias Seidel | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ 13431aeda8abSMatthias Seidel | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 13441aeda8abSMatthias Seidel | sym* | kopensolaris* | plan9* \ 13451aeda8abSMatthias Seidel | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 1346*aa9f3106Smseidel | aos* | aros* | cloudabi* | sortix* | twizzler* \ 13471aeda8abSMatthias Seidel | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 13481aeda8abSMatthias Seidel | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ 13491aeda8abSMatthias Seidel | knetbsd* | mirbsd* | netbsd* \ 1350*aa9f3106Smseidel | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ 13511aeda8abSMatthias Seidel | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ 13521aeda8abSMatthias Seidel | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ 13531aeda8abSMatthias Seidel | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ 13541aeda8abSMatthias Seidel | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ 13551aeda8abSMatthias Seidel | chorusrdb* | cegcc* | glidix* \ 13561aeda8abSMatthias Seidel | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ 13571aeda8abSMatthias Seidel | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ 13581aeda8abSMatthias Seidel | linux-newlib* | linux-musl* | linux-uclibc* \ 13591aeda8abSMatthias Seidel | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 13601aeda8abSMatthias Seidel | interix* | uwin* | mks* | rhapsody* | darwin* \ 13611aeda8abSMatthias Seidel | openstep* | oskit* | conix* | pw32* | nonstopux* \ 13621aeda8abSMatthias Seidel | storm-chaos* | tops10* | tenex* | tops20* | its* \ 13631aeda8abSMatthias Seidel | os2* | vos* | palmos* | uclinux* | nucleus* \ 13641aeda8abSMatthias Seidel | morphos* | superux* | rtmk* | windiss* \ 13651aeda8abSMatthias Seidel | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 13661aeda8abSMatthias Seidel | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 13671aeda8abSMatthias Seidel | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 1368*aa9f3106Smseidel | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ 1369*aa9f3106Smseidel | nsk* | powerunix) 1370cdf0e10cSrcweir # Remember, each alternative MUST END IN *, to match a version number. 1371cdf0e10cSrcweir ;; 13721aeda8abSMatthias Seidel qnx*) 13731aeda8abSMatthias Seidel case $cpu in 13741aeda8abSMatthias Seidel x86 | i*86) 1375cdf0e10cSrcweir ;; 1376cdf0e10cSrcweir *) 13771aeda8abSMatthias Seidel os=nto-$os 1378cdf0e10cSrcweir ;; 1379cdf0e10cSrcweir esac 1380cdf0e10cSrcweir ;; 13811aeda8abSMatthias Seidel hiux*) 13821aeda8abSMatthias Seidel os=hiuxwe2 1383cdf0e10cSrcweir ;; 13841aeda8abSMatthias Seidel nto-qnx*) 13851aeda8abSMatthias Seidel ;; 13861aeda8abSMatthias Seidel nto*) 1387cdf0e10cSrcweir os=`echo $os | sed -e 's|nto|nto-qnx|'` 1388cdf0e10cSrcweir ;; 13891aeda8abSMatthias Seidel sim | xray | os68k* | v88r* \ 13901aeda8abSMatthias Seidel | windows* | osx | abug | netware* | os9* \ 13911aeda8abSMatthias Seidel | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) 1392cdf0e10cSrcweir ;; 13931aeda8abSMatthias Seidel linux-dietlibc) 13941aeda8abSMatthias Seidel os=linux-dietlibc 1395cdf0e10cSrcweir ;; 13961aeda8abSMatthias Seidel linux*) 1397cdf0e10cSrcweir os=`echo $os | sed -e 's|linux|linux-gnu|'` 1398cdf0e10cSrcweir ;; 13991aeda8abSMatthias Seidel lynx*178) 14001aeda8abSMatthias Seidel os=lynxos178 14011aeda8abSMatthias Seidel ;; 14021aeda8abSMatthias Seidel lynx*5) 14031aeda8abSMatthias Seidel os=lynxos5 14041aeda8abSMatthias Seidel ;; 14051aeda8abSMatthias Seidel lynx*) 14061aeda8abSMatthias Seidel os=lynxos 14071aeda8abSMatthias Seidel ;; 14081aeda8abSMatthias Seidel mac*) 14091aeda8abSMatthias Seidel os=`echo "$os" | sed -e 's|mac|macos|'` 14101aeda8abSMatthias Seidel ;; 14111aeda8abSMatthias Seidel opened*) 14121aeda8abSMatthias Seidel os=openedition 14131aeda8abSMatthias Seidel ;; 14141aeda8abSMatthias Seidel os400*) 14151aeda8abSMatthias Seidel os=os400 14161aeda8abSMatthias Seidel ;; 14171aeda8abSMatthias Seidel sunos5*) 14181a5d95c5SMatthias Seidel os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1419cdf0e10cSrcweir ;; 14201aeda8abSMatthias Seidel sunos6*) 14211a5d95c5SMatthias Seidel os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1422cdf0e10cSrcweir ;; 14231aeda8abSMatthias Seidel wince*) 14241aeda8abSMatthias Seidel os=wince 1425cdf0e10cSrcweir ;; 14261aeda8abSMatthias Seidel utek*) 14271aeda8abSMatthias Seidel os=bsd 1428187b4248SPedro Giffuni ;; 14291aeda8abSMatthias Seidel dynix*) 14301aeda8abSMatthias Seidel os=bsd 1431cdf0e10cSrcweir ;; 14321aeda8abSMatthias Seidel acis*) 14331aeda8abSMatthias Seidel os=aos 1434cdf0e10cSrcweir ;; 14351aeda8abSMatthias Seidel atheos*) 14361aeda8abSMatthias Seidel os=atheos 1437cdf0e10cSrcweir ;; 14381aeda8abSMatthias Seidel syllable*) 14391aeda8abSMatthias Seidel os=syllable 1440cdf0e10cSrcweir ;; 14411aeda8abSMatthias Seidel 386bsd) 14421aeda8abSMatthias Seidel os=bsd 1443cdf0e10cSrcweir ;; 14441aeda8abSMatthias Seidel ctix* | uts*) 14451aeda8abSMatthias Seidel os=sysv 1446187b4248SPedro Giffuni ;; 14471aeda8abSMatthias Seidel nova*) 14481aeda8abSMatthias Seidel os=rtmk-nova 1449cdf0e10cSrcweir ;; 14501aeda8abSMatthias Seidel ns2) 14511aeda8abSMatthias Seidel os=nextstep2 1452cdf0e10cSrcweir ;; 1453cdf0e10cSrcweir # Preserve the version number of sinix5. 14541aeda8abSMatthias Seidel sinix5.*) 1455cdf0e10cSrcweir os=`echo $os | sed -e 's|sinix|sysv|'` 1456cdf0e10cSrcweir ;; 14571aeda8abSMatthias Seidel sinix*) 14581aeda8abSMatthias Seidel os=sysv4 1459cdf0e10cSrcweir ;; 14601aeda8abSMatthias Seidel tpf*) 14611aeda8abSMatthias Seidel os=tpf 1462187b4248SPedro Giffuni ;; 14631aeda8abSMatthias Seidel triton*) 14641aeda8abSMatthias Seidel os=sysv3 1465cdf0e10cSrcweir ;; 14661aeda8abSMatthias Seidel oss*) 14671aeda8abSMatthias Seidel os=sysv3 1468cdf0e10cSrcweir ;; 14691aeda8abSMatthias Seidel svr4*) 14701aeda8abSMatthias Seidel os=sysv4 1471cdf0e10cSrcweir ;; 14721aeda8abSMatthias Seidel svr3) 14731aeda8abSMatthias Seidel os=sysv3 1474cdf0e10cSrcweir ;; 14751aeda8abSMatthias Seidel sysvr4) 14761aeda8abSMatthias Seidel os=sysv4 1477cdf0e10cSrcweir ;; 14781aeda8abSMatthias Seidel # This must come after sysvr4. 14791aeda8abSMatthias Seidel sysv*) 1480cdf0e10cSrcweir ;; 14811aeda8abSMatthias Seidel ose*) 14821aeda8abSMatthias Seidel os=ose 1483cdf0e10cSrcweir ;; 14841aeda8abSMatthias Seidel *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 14851aeda8abSMatthias Seidel os=mint 1486cdf0e10cSrcweir ;; 14871aeda8abSMatthias Seidel zvmoe) 14881aeda8abSMatthias Seidel os=zvmoe 1489187b4248SPedro Giffuni ;; 14901aeda8abSMatthias Seidel dicos*) 14911aeda8abSMatthias Seidel os=dicos 1492187b4248SPedro Giffuni ;; 14931aeda8abSMatthias Seidel pikeos*) 149486278b1cSMatthias Seidel # Until real need of OS specific support for 149586278b1cSMatthias Seidel # particular features comes up, bare metal 149686278b1cSMatthias Seidel # configurations are quite functional. 14971aeda8abSMatthias Seidel case $cpu in 149886278b1cSMatthias Seidel arm*) 14991aeda8abSMatthias Seidel os=eabi 150086278b1cSMatthias Seidel ;; 150186278b1cSMatthias Seidel *) 15021aeda8abSMatthias Seidel os=elf 150386278b1cSMatthias Seidel ;; 150486278b1cSMatthias Seidel esac 150586278b1cSMatthias Seidel ;; 15061aeda8abSMatthias Seidel nacl*) 1507187b4248SPedro Giffuni ;; 15081aeda8abSMatthias Seidel ios) 1509ee1eb700SMatthias Seidel ;; 15101aeda8abSMatthias Seidel none) 15111aeda8abSMatthias Seidel ;; 15121aeda8abSMatthias Seidel *-eabi) 1513cdf0e10cSrcweir ;; 1514cdf0e10cSrcweir *) 15151a5d95c5SMatthias Seidel echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1516cdf0e10cSrcweir exit 1 1517cdf0e10cSrcweir ;; 1518cdf0e10cSrcweiresac 1519cdf0e10cSrcweirelse 1520cdf0e10cSrcweir 1521cdf0e10cSrcweir# Here we handle the default operating systems that come with various machines. 1522cdf0e10cSrcweir# The value should be what the vendor currently ships out the door with their 1523cdf0e10cSrcweir# machine or put another way, the most popular os provided with the machine. 1524cdf0e10cSrcweir 1525cdf0e10cSrcweir# Note that if you're going to try to match "-MANUFACTURER" here (say, 1526cdf0e10cSrcweir# "-sun"), then you have to tell the case statement up towards the top 1527cdf0e10cSrcweir# that MANUFACTURER isn't an operating system. Otherwise, code above 1528cdf0e10cSrcweir# will signal an error saying that MANUFACTURER isn't an operating 1529cdf0e10cSrcweir# system, and we'll never get to this point. 1530cdf0e10cSrcweir 15311aeda8abSMatthias Seidelcase $cpu-$vendor in 1532187b4248SPedro Giffuni score-*) 15331aeda8abSMatthias Seidel os=elf 1534187b4248SPedro Giffuni ;; 1535187b4248SPedro Giffuni spu-*) 15361aeda8abSMatthias Seidel os=elf 1537187b4248SPedro Giffuni ;; 1538cdf0e10cSrcweir *-acorn) 15391aeda8abSMatthias Seidel os=riscix1.2 1540cdf0e10cSrcweir ;; 1541cdf0e10cSrcweir arm*-rebel) 15421aeda8abSMatthias Seidel os=linux 1543cdf0e10cSrcweir ;; 1544cdf0e10cSrcweir arm*-semi) 15451aeda8abSMatthias Seidel os=aout 1546cdf0e10cSrcweir ;; 1547cdf0e10cSrcweir c4x-* | tic4x-*) 15481aeda8abSMatthias Seidel os=coff 1549cdf0e10cSrcweir ;; 1550ee1eb700SMatthias Seidel c8051-*) 15511aeda8abSMatthias Seidel os=elf 15521aeda8abSMatthias Seidel ;; 15531aeda8abSMatthias Seidel clipper-intergraph) 15541aeda8abSMatthias Seidel os=clix 1555ee1eb700SMatthias Seidel ;; 1556ee1eb700SMatthias Seidel hexagon-*) 15571aeda8abSMatthias Seidel os=elf 1558ee1eb700SMatthias Seidel ;; 1559ee1eb700SMatthias Seidel tic54x-*) 15601aeda8abSMatthias Seidel os=coff 1561ee1eb700SMatthias Seidel ;; 1562ee1eb700SMatthias Seidel tic55x-*) 15631aeda8abSMatthias Seidel os=coff 1564ee1eb700SMatthias Seidel ;; 1565ee1eb700SMatthias Seidel tic6x-*) 15661aeda8abSMatthias Seidel os=coff 1567ee1eb700SMatthias Seidel ;; 1568cdf0e10cSrcweir # This must come before the *-dec entry. 1569cdf0e10cSrcweir pdp10-*) 15701aeda8abSMatthias Seidel os=tops20 1571cdf0e10cSrcweir ;; 1572cdf0e10cSrcweir pdp11-*) 15731aeda8abSMatthias Seidel os=none 1574cdf0e10cSrcweir ;; 1575cdf0e10cSrcweir *-dec | vax-*) 15761aeda8abSMatthias Seidel os=ultrix4.2 1577cdf0e10cSrcweir ;; 1578cdf0e10cSrcweir m68*-apollo) 15791aeda8abSMatthias Seidel os=domain 1580cdf0e10cSrcweir ;; 1581cdf0e10cSrcweir i386-sun) 15821aeda8abSMatthias Seidel os=sunos4.0.2 1583cdf0e10cSrcweir ;; 1584cdf0e10cSrcweir m68000-sun) 15851aeda8abSMatthias Seidel os=sunos3 1586cdf0e10cSrcweir ;; 1587cdf0e10cSrcweir m68*-cisco) 15881aeda8abSMatthias Seidel os=aout 1589cdf0e10cSrcweir ;; 1590187b4248SPedro Giffuni mep-*) 15911aeda8abSMatthias Seidel os=elf 1592187b4248SPedro Giffuni ;; 1593cdf0e10cSrcweir mips*-cisco) 15941aeda8abSMatthias Seidel os=elf 1595cdf0e10cSrcweir ;; 1596cdf0e10cSrcweir mips*-*) 15971aeda8abSMatthias Seidel os=elf 1598cdf0e10cSrcweir ;; 1599cdf0e10cSrcweir or32-*) 16001aeda8abSMatthias Seidel os=coff 1601cdf0e10cSrcweir ;; 1602cdf0e10cSrcweir *-tti) # must be before sparc entry or we get the wrong os. 16031aeda8abSMatthias Seidel os=sysv3 1604cdf0e10cSrcweir ;; 1605cdf0e10cSrcweir sparc-* | *-sun) 16061aeda8abSMatthias Seidel os=sunos4.1.1 1607cdf0e10cSrcweir ;; 1608ee1eb700SMatthias Seidel pru-*) 16091aeda8abSMatthias Seidel os=elf 1610ee1eb700SMatthias Seidel ;; 1611cdf0e10cSrcweir *-be) 16121aeda8abSMatthias Seidel os=beos 1613cdf0e10cSrcweir ;; 1614cdf0e10cSrcweir *-ibm) 16151aeda8abSMatthias Seidel os=aix 1616cdf0e10cSrcweir ;; 1617187b4248SPedro Giffuni *-knuth) 16181aeda8abSMatthias Seidel os=mmixware 1619187b4248SPedro Giffuni ;; 1620cdf0e10cSrcweir *-wec) 16211aeda8abSMatthias Seidel os=proelf 1622cdf0e10cSrcweir ;; 1623cdf0e10cSrcweir *-winbond) 16241aeda8abSMatthias Seidel os=proelf 1625cdf0e10cSrcweir ;; 1626cdf0e10cSrcweir *-oki) 16271aeda8abSMatthias Seidel os=proelf 1628cdf0e10cSrcweir ;; 1629cdf0e10cSrcweir *-hp) 16301aeda8abSMatthias Seidel os=hpux 1631cdf0e10cSrcweir ;; 1632cdf0e10cSrcweir *-hitachi) 16331aeda8abSMatthias Seidel os=hiux 1634cdf0e10cSrcweir ;; 1635cdf0e10cSrcweir i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16361aeda8abSMatthias Seidel os=sysv 1637cdf0e10cSrcweir ;; 1638cdf0e10cSrcweir *-cbm) 16391aeda8abSMatthias Seidel os=amigaos 1640cdf0e10cSrcweir ;; 1641cdf0e10cSrcweir *-dg) 16421aeda8abSMatthias Seidel os=dgux 1643cdf0e10cSrcweir ;; 1644cdf0e10cSrcweir *-dolphin) 16451aeda8abSMatthias Seidel os=sysv3 1646cdf0e10cSrcweir ;; 1647cdf0e10cSrcweir m68k-ccur) 16481aeda8abSMatthias Seidel os=rtu 1649cdf0e10cSrcweir ;; 1650cdf0e10cSrcweir m88k-omron*) 16511aeda8abSMatthias Seidel os=luna 1652cdf0e10cSrcweir ;; 1653cdf0e10cSrcweir *-next) 16541aeda8abSMatthias Seidel os=nextstep 1655cdf0e10cSrcweir ;; 1656cdf0e10cSrcweir *-sequent) 16571aeda8abSMatthias Seidel os=ptx 1658cdf0e10cSrcweir ;; 1659cdf0e10cSrcweir *-crds) 16601aeda8abSMatthias Seidel os=unos 1661cdf0e10cSrcweir ;; 1662cdf0e10cSrcweir *-ns) 16631aeda8abSMatthias Seidel os=genix 1664cdf0e10cSrcweir ;; 1665cdf0e10cSrcweir i370-*) 16661aeda8abSMatthias Seidel os=mvs 1667cdf0e10cSrcweir ;; 1668cdf0e10cSrcweir *-gould) 16691aeda8abSMatthias Seidel os=sysv 1670cdf0e10cSrcweir ;; 1671cdf0e10cSrcweir *-highlevel) 16721aeda8abSMatthias Seidel os=bsd 1673cdf0e10cSrcweir ;; 1674cdf0e10cSrcweir *-encore) 16751aeda8abSMatthias Seidel os=bsd 1676cdf0e10cSrcweir ;; 1677cdf0e10cSrcweir *-sgi) 16781aeda8abSMatthias Seidel os=irix 1679cdf0e10cSrcweir ;; 1680cdf0e10cSrcweir *-siemens) 16811aeda8abSMatthias Seidel os=sysv4 1682cdf0e10cSrcweir ;; 1683cdf0e10cSrcweir *-masscomp) 16841aeda8abSMatthias Seidel os=rtu 1685cdf0e10cSrcweir ;; 1686cdf0e10cSrcweir f30[01]-fujitsu | f700-fujitsu) 16871aeda8abSMatthias Seidel os=uxpv 1688cdf0e10cSrcweir ;; 1689cdf0e10cSrcweir *-rom68k) 16901aeda8abSMatthias Seidel os=coff 1691cdf0e10cSrcweir ;; 1692cdf0e10cSrcweir *-*bug) 16931aeda8abSMatthias Seidel os=coff 1694cdf0e10cSrcweir ;; 1695cdf0e10cSrcweir *-apple) 16961aeda8abSMatthias Seidel os=macos 1697cdf0e10cSrcweir ;; 1698cdf0e10cSrcweir *-atari*) 16991aeda8abSMatthias Seidel os=mint 17001aeda8abSMatthias Seidel ;; 17011aeda8abSMatthias Seidel *-wrs) 17021aeda8abSMatthias Seidel os=vxworks 1703cdf0e10cSrcweir ;; 1704cdf0e10cSrcweir *) 17051aeda8abSMatthias Seidel os=none 1706cdf0e10cSrcweir ;; 1707cdf0e10cSrcweiresac 1708cdf0e10cSrcweirfi 1709cdf0e10cSrcweir 1710cdf0e10cSrcweir# Here we handle the case where we know the os, and the CPU type, but not the 1711cdf0e10cSrcweir# manufacturer. We pick the logical manufacturer. 17121aeda8abSMatthias Seidelcase $vendor in 17131aeda8abSMatthias Seidel unknown) 1714cdf0e10cSrcweir case $os in 17151aeda8abSMatthias Seidel riscix*) 1716cdf0e10cSrcweir vendor=acorn 1717cdf0e10cSrcweir ;; 17181aeda8abSMatthias Seidel sunos*) 1719cdf0e10cSrcweir vendor=sun 1720cdf0e10cSrcweir ;; 17211aeda8abSMatthias Seidel cnk*|-aix*) 1722cdf0e10cSrcweir vendor=ibm 1723cdf0e10cSrcweir ;; 17241aeda8abSMatthias Seidel beos*) 1725cdf0e10cSrcweir vendor=be 1726cdf0e10cSrcweir ;; 17271aeda8abSMatthias Seidel hpux*) 1728cdf0e10cSrcweir vendor=hp 1729cdf0e10cSrcweir ;; 17301aeda8abSMatthias Seidel mpeix*) 1731cdf0e10cSrcweir vendor=hp 1732cdf0e10cSrcweir ;; 17331aeda8abSMatthias Seidel hiux*) 1734cdf0e10cSrcweir vendor=hitachi 1735cdf0e10cSrcweir ;; 17361aeda8abSMatthias Seidel unos*) 1737cdf0e10cSrcweir vendor=crds 1738cdf0e10cSrcweir ;; 17391aeda8abSMatthias Seidel dgux*) 1740cdf0e10cSrcweir vendor=dg 1741cdf0e10cSrcweir ;; 17421aeda8abSMatthias Seidel luna*) 1743cdf0e10cSrcweir vendor=omron 1744cdf0e10cSrcweir ;; 17451aeda8abSMatthias Seidel genix*) 1746cdf0e10cSrcweir vendor=ns 1747cdf0e10cSrcweir ;; 17481aeda8abSMatthias Seidel clix*) 17491aeda8abSMatthias Seidel vendor=intergraph 17501aeda8abSMatthias Seidel ;; 17511aeda8abSMatthias Seidel mvs* | opened*) 1752cdf0e10cSrcweir vendor=ibm 1753cdf0e10cSrcweir ;; 17541aeda8abSMatthias Seidel os400*) 1755187b4248SPedro Giffuni vendor=ibm 1756187b4248SPedro Giffuni ;; 17571aeda8abSMatthias Seidel ptx*) 1758cdf0e10cSrcweir vendor=sequent 1759cdf0e10cSrcweir ;; 17601aeda8abSMatthias Seidel tpf*) 1761187b4248SPedro Giffuni vendor=ibm 1762187b4248SPedro Giffuni ;; 17631aeda8abSMatthias Seidel vxsim* | vxworks* | windiss*) 1764cdf0e10cSrcweir vendor=wrs 1765cdf0e10cSrcweir ;; 17661aeda8abSMatthias Seidel aux*) 1767cdf0e10cSrcweir vendor=apple 1768cdf0e10cSrcweir ;; 17691aeda8abSMatthias Seidel hms*) 1770cdf0e10cSrcweir vendor=hitachi 1771cdf0e10cSrcweir ;; 17721aeda8abSMatthias Seidel mpw* | macos*) 1773cdf0e10cSrcweir vendor=apple 1774cdf0e10cSrcweir ;; 17751aeda8abSMatthias Seidel *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1776cdf0e10cSrcweir vendor=atari 1777cdf0e10cSrcweir ;; 17781aeda8abSMatthias Seidel vos*) 1779cdf0e10cSrcweir vendor=stratus 1780cdf0e10cSrcweir ;; 1781cdf0e10cSrcweir esac 1782cdf0e10cSrcweir ;; 1783cdf0e10cSrcweiresac 1784cdf0e10cSrcweir 17851aeda8abSMatthias Seidelecho "$cpu-$vendor-$os" 1786187b4248SPedro Giffuniexit 1787cdf0e10cSrcweir 1788cdf0e10cSrcweir# Local variables: 17891a5d95c5SMatthias Seidel# eval: (add-hook 'before-save-hook 'time-stamp) 1790cdf0e10cSrcweir# time-stamp-start: "timestamp='" 1791cdf0e10cSrcweir# time-stamp-format: "%:y-%02m-%02d" 1792cdf0e10cSrcweir# time-stamp-end: "'" 1793cdf0e10cSrcweir# End: 1794