198e903e7SBaptiste Daroussin#! /bin/sh 298e903e7SBaptiste Daroussin# Configuration validation subroutine script. 3*822ca327SBaptiste Daroussin# Copyright 1992-2023 Free Software Foundation, Inc. 498e903e7SBaptiste Daroussin 58e022d3cSDag-Erling Smørgrav# shellcheck disable=SC2006,SC2268 # see below for rationale 68e022d3cSDag-Erling Smørgrav 7*822ca327SBaptiste Daroussintimestamp='2023-09-15' 898e903e7SBaptiste Daroussin 95b91e83fSBaptiste Daroussin# This file is free software; you can redistribute it and/or modify it 105b91e83fSBaptiste Daroussin# under the terms of the GNU General Public License as published by 118e022d3cSDag-Erling Smørgrav# the Free Software Foundation, either version 3 of the License, or 1298e903e7SBaptiste Daroussin# (at your option) any later version. 1398e903e7SBaptiste Daroussin# 145b91e83fSBaptiste Daroussin# This program is distributed in the hope that it will be useful, but 155b91e83fSBaptiste Daroussin# WITHOUT ANY WARRANTY; without even the implied warranty of 165b91e83fSBaptiste Daroussin# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 175b91e83fSBaptiste Daroussin# General Public License for more details. 1898e903e7SBaptiste Daroussin# 1998e903e7SBaptiste Daroussin# You should have received a copy of the GNU General Public License 20b53bb29fSJung-uk Kim# along with this program; if not, see <https://www.gnu.org/licenses/>. 2198e903e7SBaptiste Daroussin# 2298e903e7SBaptiste Daroussin# As a special exception to the GNU General Public License, if you 2398e903e7SBaptiste Daroussin# distribute this file as part of a program that contains a 2498e903e7SBaptiste Daroussin# configuration script generated by Autoconf, you may include it under 255b91e83fSBaptiste Daroussin# the same distribution terms that you use for the rest of that 265b91e83fSBaptiste Daroussin# program. This Exception is an additional permission under section 7 275b91e83fSBaptiste Daroussin# of the GNU General Public License, version 3 ("GPLv3"). 2898e903e7SBaptiste Daroussin 2998e903e7SBaptiste Daroussin 300f86d14eSJung-uk Kim# Please send patches to <config-patches@gnu.org>. 3198e903e7SBaptiste Daroussin# 3298e903e7SBaptiste Daroussin# Configuration subroutine to validate and canonicalize a configuration type. 3398e903e7SBaptiste Daroussin# Supply the specified configuration type as an argument. 3498e903e7SBaptiste Daroussin# If it is invalid, we print an error message on stderr and exit with code 1. 3598e903e7SBaptiste Daroussin# Otherwise, we print the canonical config type on stdout and succeed. 3698e903e7SBaptiste Daroussin 3798e903e7SBaptiste Daroussin# You can get the latest version of this script from: 388e022d3cSDag-Erling Smørgrav# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 3998e903e7SBaptiste Daroussin 4098e903e7SBaptiste Daroussin# This file is supposed to be the same for all GNU packages 4198e903e7SBaptiste Daroussin# and recognize all the CPU types, system types and aliases 4298e903e7SBaptiste Daroussin# that are meaningful with *any* GNU software. 4398e903e7SBaptiste Daroussin# Each package is responsible for reporting which valid configurations 4498e903e7SBaptiste Daroussin# it does not support. The user should be able to distinguish 4598e903e7SBaptiste Daroussin# a failure to support a valid configuration from a meaningless 4698e903e7SBaptiste Daroussin# configuration. 4798e903e7SBaptiste Daroussin 4898e903e7SBaptiste Daroussin# The goal of this file is to map all the various variations of a given 4998e903e7SBaptiste Daroussin# machine specification into a single specification in the form: 5098e903e7SBaptiste Daroussin# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 5198e903e7SBaptiste Daroussin# or in some cases, the newer four-part form: 5298e903e7SBaptiste Daroussin# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5398e903e7SBaptiste Daroussin# It is wrong to echo any other type of specification. 5498e903e7SBaptiste Daroussin 558e022d3cSDag-Erling Smørgrav# The "shellcheck disable" line above the timestamp inhibits complaints 568e022d3cSDag-Erling Smørgrav# about features and limitations of the classic Bourne shell that were 578e022d3cSDag-Erling Smørgrav# superseded or lifted in POSIX. However, this script identifies a wide 588e022d3cSDag-Erling Smørgrav# variety of pre-POSIX systems that do not have POSIX shells at all, and 598e022d3cSDag-Erling Smørgrav# even some reasonably current systems (Solaris 10 as case-in-point) still 608e022d3cSDag-Erling Smørgrav# have a pre-POSIX /bin/sh. 618e022d3cSDag-Erling Smørgrav 6298e903e7SBaptiste Daroussinme=`echo "$0" | sed -e 's,.*/,,'` 6398e903e7SBaptiste Daroussin 6498e903e7SBaptiste Daroussinusage="\ 6520afc491SJung-uk KimUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 6698e903e7SBaptiste Daroussin 6798e903e7SBaptiste DaroussinCanonicalize a configuration name. 6898e903e7SBaptiste Daroussin 69b53bb29fSJung-uk KimOptions: 7098e903e7SBaptiste Daroussin -h, --help print this help, then exit 7198e903e7SBaptiste Daroussin -t, --time-stamp print date of last modification, then exit 7298e903e7SBaptiste Daroussin -v, --version print version number, then exit 7398e903e7SBaptiste Daroussin 7498e903e7SBaptiste DaroussinReport bugs and patches to <config-patches@gnu.org>." 7598e903e7SBaptiste Daroussin 7698e903e7SBaptiste Daroussinversion="\ 7798e903e7SBaptiste DaroussinGNU config.sub ($timestamp) 7898e903e7SBaptiste Daroussin 79*822ca327SBaptiste DaroussinCopyright 1992-2023 Free Software Foundation, Inc. 8098e903e7SBaptiste Daroussin 8198e903e7SBaptiste DaroussinThis is free software; see the source for copying conditions. There is NO 8298e903e7SBaptiste Daroussinwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 8398e903e7SBaptiste Daroussin 8498e903e7SBaptiste Daroussinhelp=" 85*822ca327SBaptiste DaroussinTry '$me --help' for more information." 8698e903e7SBaptiste Daroussin 8798e903e7SBaptiste Daroussin# Parse command line 8898e903e7SBaptiste Daroussinwhile test $# -gt 0 ; do 8998e903e7SBaptiste Daroussin case $1 in 9098e903e7SBaptiste Daroussin --time-stamp | --time* | -t ) 9198e903e7SBaptiste Daroussin echo "$timestamp" ; exit ;; 9298e903e7SBaptiste Daroussin --version | -v ) 9398e903e7SBaptiste Daroussin echo "$version" ; exit ;; 9498e903e7SBaptiste Daroussin --help | --h* | -h ) 9598e903e7SBaptiste Daroussin echo "$usage"; exit ;; 9698e903e7SBaptiste Daroussin -- ) # Stop option processing 9798e903e7SBaptiste Daroussin shift; break ;; 9898e903e7SBaptiste Daroussin - ) # Use stdin as input. 9998e903e7SBaptiste Daroussin break ;; 10098e903e7SBaptiste Daroussin -* ) 101b53bb29fSJung-uk Kim echo "$me: invalid option $1$help" >&2 10298e903e7SBaptiste Daroussin exit 1 ;; 10398e903e7SBaptiste Daroussin 10498e903e7SBaptiste Daroussin *local*) 10598e903e7SBaptiste Daroussin # First pass through any local machine types. 106b53bb29fSJung-uk Kim echo "$1" 10798e903e7SBaptiste Daroussin exit ;; 10898e903e7SBaptiste Daroussin 10998e903e7SBaptiste Daroussin * ) 11098e903e7SBaptiste Daroussin break ;; 11198e903e7SBaptiste Daroussin esac 11298e903e7SBaptiste Daroussindone 11398e903e7SBaptiste Daroussin 11498e903e7SBaptiste Daroussincase $# in 11598e903e7SBaptiste Daroussin 0) echo "$me: missing argument$help" >&2 11698e903e7SBaptiste Daroussin exit 1;; 11798e903e7SBaptiste Daroussin 1) ;; 11898e903e7SBaptiste Daroussin *) echo "$me: too many arguments$help" >&2 11998e903e7SBaptiste Daroussin exit 1;; 12098e903e7SBaptiste Daroussinesac 12198e903e7SBaptiste Daroussin 122b53bb29fSJung-uk Kim# Split fields of configuration type 123b53bb29fSJung-uk Kim# shellcheck disable=SC2162 1248e022d3cSDag-Erling Smørgravsaved_IFS=$IFS 125b53bb29fSJung-uk KimIFS="-" read field1 field2 field3 field4 <<EOF 126b53bb29fSJung-uk Kim$1 127b53bb29fSJung-uk KimEOF 1288e022d3cSDag-Erling SmørgravIFS=$saved_IFS 129b53bb29fSJung-uk Kim 130b53bb29fSJung-uk Kim# Separate into logical components for further validation 131b53bb29fSJung-uk Kimcase $1 in 132b53bb29fSJung-uk Kim *-*-*-*-*) 133*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': more than four components" >&2 134b53bb29fSJung-uk Kim exit 1 135b53bb29fSJung-uk Kim ;; 136b53bb29fSJung-uk Kim *-*-*-*) 137b53bb29fSJung-uk Kim basic_machine=$field1-$field2 1388e022d3cSDag-Erling Smørgrav basic_os=$field3-$field4 139b53bb29fSJung-uk Kim ;; 140b53bb29fSJung-uk Kim *-*-*) 141b53bb29fSJung-uk Kim # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 142b53bb29fSJung-uk Kim # parts 143b53bb29fSJung-uk Kim maybe_os=$field2-$field3 14498e903e7SBaptiste Daroussin case $maybe_os in 1458e022d3cSDag-Erling Smørgrav nto-qnx* | linux-* | uclinux-uclibc* \ 146b53bb29fSJung-uk Kim | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 147b53bb29fSJung-uk Kim | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 148*822ca327SBaptiste Daroussin | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ 149*822ca327SBaptiste Daroussin | windows-* ) 150b53bb29fSJung-uk Kim basic_machine=$field1 1518e022d3cSDag-Erling Smørgrav basic_os=$maybe_os 15298e903e7SBaptiste Daroussin ;; 1535b91e83fSBaptiste Daroussin android-linux) 154b53bb29fSJung-uk Kim basic_machine=$field1-unknown 1558e022d3cSDag-Erling Smørgrav basic_os=linux-android 1565b91e83fSBaptiste Daroussin ;; 15798e903e7SBaptiste Daroussin *) 158b53bb29fSJung-uk Kim basic_machine=$field1-$field2 1598e022d3cSDag-Erling Smørgrav basic_os=$field3 160b53bb29fSJung-uk Kim ;; 161b53bb29fSJung-uk Kim esac 162b53bb29fSJung-uk Kim ;; 163b53bb29fSJung-uk Kim *-*) 164b53bb29fSJung-uk Kim # A lone config we happen to match not fitting any pattern 165b53bb29fSJung-uk Kim case $field1-$field2 in 166b53bb29fSJung-uk Kim decstation-3100) 167b53bb29fSJung-uk Kim basic_machine=mips-dec 1688e022d3cSDag-Erling Smørgrav basic_os= 169b53bb29fSJung-uk Kim ;; 170b53bb29fSJung-uk Kim *-*) 171b53bb29fSJung-uk Kim # Second component is usually, but not always the OS 172b53bb29fSJung-uk Kim case $field2 in 173b53bb29fSJung-uk Kim # Prevent following clause from handling this valid os 174b53bb29fSJung-uk Kim sun*os*) 175b53bb29fSJung-uk Kim basic_machine=$field1 1768e022d3cSDag-Erling Smørgrav basic_os=$field2 1778e022d3cSDag-Erling Smørgrav ;; 1788e022d3cSDag-Erling Smørgrav zephyr*) 1798e022d3cSDag-Erling Smørgrav basic_machine=$field1-unknown 1808e022d3cSDag-Erling Smørgrav basic_os=$field2 181b53bb29fSJung-uk Kim ;; 182b53bb29fSJung-uk Kim # Manufacturers 183b53bb29fSJung-uk Kim dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 184b53bb29fSJung-uk Kim | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 185b53bb29fSJung-uk Kim | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 186b53bb29fSJung-uk Kim | convergent* | ncr* | news | 32* | 3600* | 3100* \ 187b53bb29fSJung-uk Kim | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ 188b53bb29fSJung-uk Kim | ultra | tti* | harris | dolphin | highlevel | gould \ 189b53bb29fSJung-uk Kim | cbm | ns | masscomp | apple | axis | knuth | cray \ 190b53bb29fSJung-uk Kim | microblaze* | sim | cisco \ 191b53bb29fSJung-uk Kim | oki | wec | wrs | winbond) 192b53bb29fSJung-uk Kim basic_machine=$field1-$field2 1938e022d3cSDag-Erling Smørgrav basic_os= 194b53bb29fSJung-uk Kim ;; 195b53bb29fSJung-uk Kim *) 196b53bb29fSJung-uk Kim basic_machine=$field1 1978e022d3cSDag-Erling Smørgrav basic_os=$field2 198b53bb29fSJung-uk Kim ;; 199b53bb29fSJung-uk Kim esac 200b53bb29fSJung-uk Kim ;; 201b53bb29fSJung-uk Kim esac 202b53bb29fSJung-uk Kim ;; 203b53bb29fSJung-uk Kim *) 204b53bb29fSJung-uk Kim # Convert single-component short-hands not valid as part of 205b53bb29fSJung-uk Kim # multi-component configurations. 206b53bb29fSJung-uk Kim case $field1 in 207b53bb29fSJung-uk Kim 386bsd) 208b53bb29fSJung-uk Kim basic_machine=i386-pc 2098e022d3cSDag-Erling Smørgrav basic_os=bsd 210b53bb29fSJung-uk Kim ;; 211b53bb29fSJung-uk Kim a29khif) 212b53bb29fSJung-uk Kim basic_machine=a29k-amd 2138e022d3cSDag-Erling Smørgrav basic_os=udi 214b53bb29fSJung-uk Kim ;; 215b53bb29fSJung-uk Kim adobe68k) 216b53bb29fSJung-uk Kim basic_machine=m68010-adobe 2178e022d3cSDag-Erling Smørgrav basic_os=scout 218b53bb29fSJung-uk Kim ;; 219b53bb29fSJung-uk Kim alliant) 220b53bb29fSJung-uk Kim basic_machine=fx80-alliant 2218e022d3cSDag-Erling Smørgrav basic_os= 222b53bb29fSJung-uk Kim ;; 223b53bb29fSJung-uk Kim altos | altos3068) 224b53bb29fSJung-uk Kim basic_machine=m68k-altos 2258e022d3cSDag-Erling Smørgrav basic_os= 226b53bb29fSJung-uk Kim ;; 227b53bb29fSJung-uk Kim am29k) 228b53bb29fSJung-uk Kim basic_machine=a29k-none 2298e022d3cSDag-Erling Smørgrav basic_os=bsd 230b53bb29fSJung-uk Kim ;; 231b53bb29fSJung-uk Kim amdahl) 232b53bb29fSJung-uk Kim basic_machine=580-amdahl 2338e022d3cSDag-Erling Smørgrav basic_os=sysv 234b53bb29fSJung-uk Kim ;; 235b53bb29fSJung-uk Kim amiga) 236b53bb29fSJung-uk Kim basic_machine=m68k-unknown 2378e022d3cSDag-Erling Smørgrav basic_os= 238b53bb29fSJung-uk Kim ;; 239b53bb29fSJung-uk Kim amigaos | amigados) 240b53bb29fSJung-uk Kim basic_machine=m68k-unknown 2418e022d3cSDag-Erling Smørgrav basic_os=amigaos 242b53bb29fSJung-uk Kim ;; 243b53bb29fSJung-uk Kim amigaunix | amix) 244b53bb29fSJung-uk Kim basic_machine=m68k-unknown 2458e022d3cSDag-Erling Smørgrav basic_os=sysv4 246b53bb29fSJung-uk Kim ;; 247b53bb29fSJung-uk Kim apollo68) 248b53bb29fSJung-uk Kim basic_machine=m68k-apollo 2498e022d3cSDag-Erling Smørgrav basic_os=sysv 250b53bb29fSJung-uk Kim ;; 251b53bb29fSJung-uk Kim apollo68bsd) 252b53bb29fSJung-uk Kim basic_machine=m68k-apollo 2538e022d3cSDag-Erling Smørgrav basic_os=bsd 254b53bb29fSJung-uk Kim ;; 255b53bb29fSJung-uk Kim aros) 256b53bb29fSJung-uk Kim basic_machine=i386-pc 2578e022d3cSDag-Erling Smørgrav basic_os=aros 258b53bb29fSJung-uk Kim ;; 259b53bb29fSJung-uk Kim aux) 260b53bb29fSJung-uk Kim basic_machine=m68k-apple 2618e022d3cSDag-Erling Smørgrav basic_os=aux 262b53bb29fSJung-uk Kim ;; 263b53bb29fSJung-uk Kim balance) 264b53bb29fSJung-uk Kim basic_machine=ns32k-sequent 2658e022d3cSDag-Erling Smørgrav basic_os=dynix 266b53bb29fSJung-uk Kim ;; 267b53bb29fSJung-uk Kim blackfin) 268b53bb29fSJung-uk Kim basic_machine=bfin-unknown 2698e022d3cSDag-Erling Smørgrav basic_os=linux 270b53bb29fSJung-uk Kim ;; 271b53bb29fSJung-uk Kim cegcc) 272b53bb29fSJung-uk Kim basic_machine=arm-unknown 2738e022d3cSDag-Erling Smørgrav basic_os=cegcc 274b53bb29fSJung-uk Kim ;; 275b53bb29fSJung-uk Kim convex-c1) 276b53bb29fSJung-uk Kim basic_machine=c1-convex 2778e022d3cSDag-Erling Smørgrav basic_os=bsd 278b53bb29fSJung-uk Kim ;; 279b53bb29fSJung-uk Kim convex-c2) 280b53bb29fSJung-uk Kim basic_machine=c2-convex 2818e022d3cSDag-Erling Smørgrav basic_os=bsd 282b53bb29fSJung-uk Kim ;; 283b53bb29fSJung-uk Kim convex-c32) 284b53bb29fSJung-uk Kim basic_machine=c32-convex 2858e022d3cSDag-Erling Smørgrav basic_os=bsd 286b53bb29fSJung-uk Kim ;; 287b53bb29fSJung-uk Kim convex-c34) 288b53bb29fSJung-uk Kim basic_machine=c34-convex 2898e022d3cSDag-Erling Smørgrav basic_os=bsd 290b53bb29fSJung-uk Kim ;; 291b53bb29fSJung-uk Kim convex-c38) 292b53bb29fSJung-uk Kim basic_machine=c38-convex 2938e022d3cSDag-Erling Smørgrav basic_os=bsd 294b53bb29fSJung-uk Kim ;; 295b53bb29fSJung-uk Kim cray) 296b53bb29fSJung-uk Kim basic_machine=j90-cray 2978e022d3cSDag-Erling Smørgrav basic_os=unicos 298b53bb29fSJung-uk Kim ;; 299b53bb29fSJung-uk Kim crds | unos) 300b53bb29fSJung-uk Kim basic_machine=m68k-crds 3018e022d3cSDag-Erling Smørgrav basic_os= 302b53bb29fSJung-uk Kim ;; 303b53bb29fSJung-uk Kim da30) 304b53bb29fSJung-uk Kim basic_machine=m68k-da30 3058e022d3cSDag-Erling Smørgrav basic_os= 306b53bb29fSJung-uk Kim ;; 307b53bb29fSJung-uk Kim decstation | pmax | pmin | dec3100 | decstatn) 308b53bb29fSJung-uk Kim basic_machine=mips-dec 3098e022d3cSDag-Erling Smørgrav basic_os= 310b53bb29fSJung-uk Kim ;; 311b53bb29fSJung-uk Kim delta88) 312b53bb29fSJung-uk Kim basic_machine=m88k-motorola 3138e022d3cSDag-Erling Smørgrav basic_os=sysv3 314b53bb29fSJung-uk Kim ;; 315b53bb29fSJung-uk Kim dicos) 316b53bb29fSJung-uk Kim basic_machine=i686-pc 3178e022d3cSDag-Erling Smørgrav basic_os=dicos 318b53bb29fSJung-uk Kim ;; 319b53bb29fSJung-uk Kim djgpp) 320b53bb29fSJung-uk Kim basic_machine=i586-pc 3218e022d3cSDag-Erling Smørgrav basic_os=msdosdjgpp 322b53bb29fSJung-uk Kim ;; 323b53bb29fSJung-uk Kim ebmon29k) 324b53bb29fSJung-uk Kim basic_machine=a29k-amd 3258e022d3cSDag-Erling Smørgrav basic_os=ebmon 326b53bb29fSJung-uk Kim ;; 327b53bb29fSJung-uk Kim es1800 | OSE68k | ose68k | ose | OSE) 328b53bb29fSJung-uk Kim basic_machine=m68k-ericsson 3298e022d3cSDag-Erling Smørgrav basic_os=ose 330b53bb29fSJung-uk Kim ;; 331b53bb29fSJung-uk Kim gmicro) 332b53bb29fSJung-uk Kim basic_machine=tron-gmicro 3338e022d3cSDag-Erling Smørgrav basic_os=sysv 334b53bb29fSJung-uk Kim ;; 335b53bb29fSJung-uk Kim go32) 336b53bb29fSJung-uk Kim basic_machine=i386-pc 3378e022d3cSDag-Erling Smørgrav basic_os=go32 338b53bb29fSJung-uk Kim ;; 339b53bb29fSJung-uk Kim h8300hms) 340b53bb29fSJung-uk Kim basic_machine=h8300-hitachi 3418e022d3cSDag-Erling Smørgrav basic_os=hms 342b53bb29fSJung-uk Kim ;; 343b53bb29fSJung-uk Kim h8300xray) 344b53bb29fSJung-uk Kim basic_machine=h8300-hitachi 3458e022d3cSDag-Erling Smørgrav basic_os=xray 346b53bb29fSJung-uk Kim ;; 347b53bb29fSJung-uk Kim h8500hms) 348b53bb29fSJung-uk Kim basic_machine=h8500-hitachi 3498e022d3cSDag-Erling Smørgrav basic_os=hms 350b53bb29fSJung-uk Kim ;; 351b53bb29fSJung-uk Kim harris) 352b53bb29fSJung-uk Kim basic_machine=m88k-harris 3538e022d3cSDag-Erling Smørgrav basic_os=sysv3 354b53bb29fSJung-uk Kim ;; 355b53bb29fSJung-uk Kim hp300 | hp300hpux) 356b53bb29fSJung-uk Kim basic_machine=m68k-hp 3578e022d3cSDag-Erling Smørgrav basic_os=hpux 358b53bb29fSJung-uk Kim ;; 359b53bb29fSJung-uk Kim hp300bsd) 360b53bb29fSJung-uk Kim basic_machine=m68k-hp 3618e022d3cSDag-Erling Smørgrav basic_os=bsd 362b53bb29fSJung-uk Kim ;; 363b53bb29fSJung-uk Kim hppaosf) 364b53bb29fSJung-uk Kim basic_machine=hppa1.1-hp 3658e022d3cSDag-Erling Smørgrav basic_os=osf 366b53bb29fSJung-uk Kim ;; 367b53bb29fSJung-uk Kim hppro) 368b53bb29fSJung-uk Kim basic_machine=hppa1.1-hp 3698e022d3cSDag-Erling Smørgrav basic_os=proelf 370b53bb29fSJung-uk Kim ;; 371b53bb29fSJung-uk Kim i386mach) 372b53bb29fSJung-uk Kim basic_machine=i386-mach 3738e022d3cSDag-Erling Smørgrav basic_os=mach 374b53bb29fSJung-uk Kim ;; 375b53bb29fSJung-uk Kim isi68 | isi) 376b53bb29fSJung-uk Kim basic_machine=m68k-isi 3778e022d3cSDag-Erling Smørgrav basic_os=sysv 378b53bb29fSJung-uk Kim ;; 379b53bb29fSJung-uk Kim m68knommu) 380b53bb29fSJung-uk Kim basic_machine=m68k-unknown 3818e022d3cSDag-Erling Smørgrav basic_os=linux 382b53bb29fSJung-uk Kim ;; 383b53bb29fSJung-uk Kim magnum | m3230) 384b53bb29fSJung-uk Kim basic_machine=mips-mips 3858e022d3cSDag-Erling Smørgrav basic_os=sysv 386b53bb29fSJung-uk Kim ;; 387b53bb29fSJung-uk Kim merlin) 388b53bb29fSJung-uk Kim basic_machine=ns32k-utek 3898e022d3cSDag-Erling Smørgrav basic_os=sysv 390b53bb29fSJung-uk Kim ;; 391b53bb29fSJung-uk Kim mingw64) 392b53bb29fSJung-uk Kim basic_machine=x86_64-pc 3938e022d3cSDag-Erling Smørgrav basic_os=mingw64 394b53bb29fSJung-uk Kim ;; 395b53bb29fSJung-uk Kim mingw32) 396b53bb29fSJung-uk Kim basic_machine=i686-pc 3978e022d3cSDag-Erling Smørgrav basic_os=mingw32 398b53bb29fSJung-uk Kim ;; 399b53bb29fSJung-uk Kim mingw32ce) 400b53bb29fSJung-uk Kim basic_machine=arm-unknown 4018e022d3cSDag-Erling Smørgrav basic_os=mingw32ce 402b53bb29fSJung-uk Kim ;; 403b53bb29fSJung-uk Kim monitor) 404b53bb29fSJung-uk Kim basic_machine=m68k-rom68k 4058e022d3cSDag-Erling Smørgrav basic_os=coff 406b53bb29fSJung-uk Kim ;; 407b53bb29fSJung-uk Kim morphos) 408b53bb29fSJung-uk Kim basic_machine=powerpc-unknown 4098e022d3cSDag-Erling Smørgrav basic_os=morphos 410b53bb29fSJung-uk Kim ;; 411b53bb29fSJung-uk Kim moxiebox) 412b53bb29fSJung-uk Kim basic_machine=moxie-unknown 4138e022d3cSDag-Erling Smørgrav basic_os=moxiebox 414b53bb29fSJung-uk Kim ;; 415b53bb29fSJung-uk Kim msdos) 416b53bb29fSJung-uk Kim basic_machine=i386-pc 4178e022d3cSDag-Erling Smørgrav basic_os=msdos 418b53bb29fSJung-uk Kim ;; 419b53bb29fSJung-uk Kim msys) 420b53bb29fSJung-uk Kim basic_machine=i686-pc 4218e022d3cSDag-Erling Smørgrav basic_os=msys 422b53bb29fSJung-uk Kim ;; 423b53bb29fSJung-uk Kim mvs) 424b53bb29fSJung-uk Kim basic_machine=i370-ibm 4258e022d3cSDag-Erling Smørgrav basic_os=mvs 426b53bb29fSJung-uk Kim ;; 427b53bb29fSJung-uk Kim nacl) 428b53bb29fSJung-uk Kim basic_machine=le32-unknown 4298e022d3cSDag-Erling Smørgrav basic_os=nacl 430b53bb29fSJung-uk Kim ;; 431b53bb29fSJung-uk Kim ncr3000) 432b53bb29fSJung-uk Kim basic_machine=i486-ncr 4338e022d3cSDag-Erling Smørgrav basic_os=sysv4 434b53bb29fSJung-uk Kim ;; 435b53bb29fSJung-uk Kim netbsd386) 436b53bb29fSJung-uk Kim basic_machine=i386-pc 4378e022d3cSDag-Erling Smørgrav basic_os=netbsd 438b53bb29fSJung-uk Kim ;; 439b53bb29fSJung-uk Kim netwinder) 440b53bb29fSJung-uk Kim basic_machine=armv4l-rebel 4418e022d3cSDag-Erling Smørgrav basic_os=linux 442b53bb29fSJung-uk Kim ;; 443b53bb29fSJung-uk Kim news | news700 | news800 | news900) 444b53bb29fSJung-uk Kim basic_machine=m68k-sony 4458e022d3cSDag-Erling Smørgrav basic_os=newsos 446b53bb29fSJung-uk Kim ;; 447b53bb29fSJung-uk Kim news1000) 448b53bb29fSJung-uk Kim basic_machine=m68030-sony 4498e022d3cSDag-Erling Smørgrav basic_os=newsos 450b53bb29fSJung-uk Kim ;; 451b53bb29fSJung-uk Kim necv70) 452b53bb29fSJung-uk Kim basic_machine=v70-nec 4538e022d3cSDag-Erling Smørgrav basic_os=sysv 454b53bb29fSJung-uk Kim ;; 455b53bb29fSJung-uk Kim nh3000) 456b53bb29fSJung-uk Kim basic_machine=m68k-harris 4578e022d3cSDag-Erling Smørgrav basic_os=cxux 458b53bb29fSJung-uk Kim ;; 459b53bb29fSJung-uk Kim nh[45]000) 460b53bb29fSJung-uk Kim basic_machine=m88k-harris 4618e022d3cSDag-Erling Smørgrav basic_os=cxux 462b53bb29fSJung-uk Kim ;; 463b53bb29fSJung-uk Kim nindy960) 464b53bb29fSJung-uk Kim basic_machine=i960-intel 4658e022d3cSDag-Erling Smørgrav basic_os=nindy 466b53bb29fSJung-uk Kim ;; 467b53bb29fSJung-uk Kim mon960) 468b53bb29fSJung-uk Kim basic_machine=i960-intel 4698e022d3cSDag-Erling Smørgrav basic_os=mon960 470b53bb29fSJung-uk Kim ;; 471b53bb29fSJung-uk Kim nonstopux) 472b53bb29fSJung-uk Kim basic_machine=mips-compaq 4738e022d3cSDag-Erling Smørgrav basic_os=nonstopux 474b53bb29fSJung-uk Kim ;; 475b53bb29fSJung-uk Kim os400) 476b53bb29fSJung-uk Kim basic_machine=powerpc-ibm 4778e022d3cSDag-Erling Smørgrav basic_os=os400 478b53bb29fSJung-uk Kim ;; 479b53bb29fSJung-uk Kim OSE68000 | ose68000) 480b53bb29fSJung-uk Kim basic_machine=m68000-ericsson 4818e022d3cSDag-Erling Smørgrav basic_os=ose 482b53bb29fSJung-uk Kim ;; 483b53bb29fSJung-uk Kim os68k) 484b53bb29fSJung-uk Kim basic_machine=m68k-none 4858e022d3cSDag-Erling Smørgrav basic_os=os68k 486b53bb29fSJung-uk Kim ;; 487b53bb29fSJung-uk Kim paragon) 488b53bb29fSJung-uk Kim basic_machine=i860-intel 4898e022d3cSDag-Erling Smørgrav basic_os=osf 490b53bb29fSJung-uk Kim ;; 491b53bb29fSJung-uk Kim parisc) 492b53bb29fSJung-uk Kim basic_machine=hppa-unknown 4938e022d3cSDag-Erling Smørgrav basic_os=linux 4948e022d3cSDag-Erling Smørgrav ;; 4958e022d3cSDag-Erling Smørgrav psp) 4968e022d3cSDag-Erling Smørgrav basic_machine=mipsallegrexel-sony 4978e022d3cSDag-Erling Smørgrav basic_os=psp 498b53bb29fSJung-uk Kim ;; 499b53bb29fSJung-uk Kim pw32) 500b53bb29fSJung-uk Kim basic_machine=i586-unknown 5018e022d3cSDag-Erling Smørgrav basic_os=pw32 502b53bb29fSJung-uk Kim ;; 503b53bb29fSJung-uk Kim rdos | rdos64) 504b53bb29fSJung-uk Kim basic_machine=x86_64-pc 5058e022d3cSDag-Erling Smørgrav basic_os=rdos 506b53bb29fSJung-uk Kim ;; 507b53bb29fSJung-uk Kim rdos32) 508b53bb29fSJung-uk Kim basic_machine=i386-pc 5098e022d3cSDag-Erling Smørgrav basic_os=rdos 510b53bb29fSJung-uk Kim ;; 511b53bb29fSJung-uk Kim rom68k) 512b53bb29fSJung-uk Kim basic_machine=m68k-rom68k 5138e022d3cSDag-Erling Smørgrav basic_os=coff 514b53bb29fSJung-uk Kim ;; 515b53bb29fSJung-uk Kim sa29200) 516b53bb29fSJung-uk Kim basic_machine=a29k-amd 5178e022d3cSDag-Erling Smørgrav basic_os=udi 518b53bb29fSJung-uk Kim ;; 519b53bb29fSJung-uk Kim sei) 520b53bb29fSJung-uk Kim basic_machine=mips-sei 5218e022d3cSDag-Erling Smørgrav basic_os=seiux 522b53bb29fSJung-uk Kim ;; 523b53bb29fSJung-uk Kim sequent) 524b53bb29fSJung-uk Kim basic_machine=i386-sequent 5258e022d3cSDag-Erling Smørgrav basic_os= 526b53bb29fSJung-uk Kim ;; 527b53bb29fSJung-uk Kim sps7) 528b53bb29fSJung-uk Kim basic_machine=m68k-bull 5298e022d3cSDag-Erling Smørgrav basic_os=sysv2 530b53bb29fSJung-uk Kim ;; 531b53bb29fSJung-uk Kim st2000) 532b53bb29fSJung-uk Kim basic_machine=m68k-tandem 5338e022d3cSDag-Erling Smørgrav basic_os= 534b53bb29fSJung-uk Kim ;; 535b53bb29fSJung-uk Kim stratus) 536b53bb29fSJung-uk Kim basic_machine=i860-stratus 5378e022d3cSDag-Erling Smørgrav basic_os=sysv4 538b53bb29fSJung-uk Kim ;; 539b53bb29fSJung-uk Kim sun2) 540b53bb29fSJung-uk Kim basic_machine=m68000-sun 5418e022d3cSDag-Erling Smørgrav basic_os= 542b53bb29fSJung-uk Kim ;; 543b53bb29fSJung-uk Kim sun2os3) 544b53bb29fSJung-uk Kim basic_machine=m68000-sun 5458e022d3cSDag-Erling Smørgrav basic_os=sunos3 546b53bb29fSJung-uk Kim ;; 547b53bb29fSJung-uk Kim sun2os4) 548b53bb29fSJung-uk Kim basic_machine=m68000-sun 5498e022d3cSDag-Erling Smørgrav basic_os=sunos4 550b53bb29fSJung-uk Kim ;; 551b53bb29fSJung-uk Kim sun3) 552b53bb29fSJung-uk Kim basic_machine=m68k-sun 5538e022d3cSDag-Erling Smørgrav basic_os= 554b53bb29fSJung-uk Kim ;; 555b53bb29fSJung-uk Kim sun3os3) 556b53bb29fSJung-uk Kim basic_machine=m68k-sun 5578e022d3cSDag-Erling Smørgrav basic_os=sunos3 558b53bb29fSJung-uk Kim ;; 559b53bb29fSJung-uk Kim sun3os4) 560b53bb29fSJung-uk Kim basic_machine=m68k-sun 5618e022d3cSDag-Erling Smørgrav basic_os=sunos4 562b53bb29fSJung-uk Kim ;; 563b53bb29fSJung-uk Kim sun4) 564b53bb29fSJung-uk Kim basic_machine=sparc-sun 5658e022d3cSDag-Erling Smørgrav basic_os= 566b53bb29fSJung-uk Kim ;; 567b53bb29fSJung-uk Kim sun4os3) 568b53bb29fSJung-uk Kim basic_machine=sparc-sun 5698e022d3cSDag-Erling Smørgrav basic_os=sunos3 570b53bb29fSJung-uk Kim ;; 571b53bb29fSJung-uk Kim sun4os4) 572b53bb29fSJung-uk Kim basic_machine=sparc-sun 5738e022d3cSDag-Erling Smørgrav basic_os=sunos4 574b53bb29fSJung-uk Kim ;; 575b53bb29fSJung-uk Kim sun4sol2) 576b53bb29fSJung-uk Kim basic_machine=sparc-sun 5778e022d3cSDag-Erling Smørgrav basic_os=solaris2 578b53bb29fSJung-uk Kim ;; 579b53bb29fSJung-uk Kim sun386 | sun386i | roadrunner) 580b53bb29fSJung-uk Kim basic_machine=i386-sun 5818e022d3cSDag-Erling Smørgrav basic_os= 582b53bb29fSJung-uk Kim ;; 583b53bb29fSJung-uk Kim sv1) 584b53bb29fSJung-uk Kim basic_machine=sv1-cray 5858e022d3cSDag-Erling Smørgrav basic_os=unicos 586b53bb29fSJung-uk Kim ;; 587b53bb29fSJung-uk Kim symmetry) 588b53bb29fSJung-uk Kim basic_machine=i386-sequent 5898e022d3cSDag-Erling Smørgrav basic_os=dynix 590b53bb29fSJung-uk Kim ;; 591b53bb29fSJung-uk Kim t3e) 592b53bb29fSJung-uk Kim basic_machine=alphaev5-cray 5938e022d3cSDag-Erling Smørgrav basic_os=unicos 594b53bb29fSJung-uk Kim ;; 595b53bb29fSJung-uk Kim t90) 596b53bb29fSJung-uk Kim basic_machine=t90-cray 5978e022d3cSDag-Erling Smørgrav basic_os=unicos 598b53bb29fSJung-uk Kim ;; 599b53bb29fSJung-uk Kim toad1) 600b53bb29fSJung-uk Kim basic_machine=pdp10-xkl 6018e022d3cSDag-Erling Smørgrav basic_os=tops20 602b53bb29fSJung-uk Kim ;; 603b53bb29fSJung-uk Kim tpf) 604b53bb29fSJung-uk Kim basic_machine=s390x-ibm 6058e022d3cSDag-Erling Smørgrav basic_os=tpf 606b53bb29fSJung-uk Kim ;; 607b53bb29fSJung-uk Kim udi29k) 608b53bb29fSJung-uk Kim basic_machine=a29k-amd 6098e022d3cSDag-Erling Smørgrav basic_os=udi 610b53bb29fSJung-uk Kim ;; 611b53bb29fSJung-uk Kim ultra3) 612b53bb29fSJung-uk Kim basic_machine=a29k-nyu 6138e022d3cSDag-Erling Smørgrav basic_os=sym1 614b53bb29fSJung-uk Kim ;; 615b53bb29fSJung-uk Kim v810 | necv810) 616b53bb29fSJung-uk Kim basic_machine=v810-nec 6178e022d3cSDag-Erling Smørgrav basic_os=none 618b53bb29fSJung-uk Kim ;; 619b53bb29fSJung-uk Kim vaxv) 620b53bb29fSJung-uk Kim basic_machine=vax-dec 6218e022d3cSDag-Erling Smørgrav basic_os=sysv 622b53bb29fSJung-uk Kim ;; 623b53bb29fSJung-uk Kim vms) 624b53bb29fSJung-uk Kim basic_machine=vax-dec 6258e022d3cSDag-Erling Smørgrav basic_os=vms 626b53bb29fSJung-uk Kim ;; 627b53bb29fSJung-uk Kim vsta) 628b53bb29fSJung-uk Kim basic_machine=i386-pc 6298e022d3cSDag-Erling Smørgrav basic_os=vsta 630b53bb29fSJung-uk Kim ;; 631b53bb29fSJung-uk Kim vxworks960) 632b53bb29fSJung-uk Kim basic_machine=i960-wrs 6338e022d3cSDag-Erling Smørgrav basic_os=vxworks 634b53bb29fSJung-uk Kim ;; 635b53bb29fSJung-uk Kim vxworks68) 636b53bb29fSJung-uk Kim basic_machine=m68k-wrs 6378e022d3cSDag-Erling Smørgrav basic_os=vxworks 638b53bb29fSJung-uk Kim ;; 639b53bb29fSJung-uk Kim vxworks29k) 640b53bb29fSJung-uk Kim basic_machine=a29k-wrs 6418e022d3cSDag-Erling Smørgrav basic_os=vxworks 642b53bb29fSJung-uk Kim ;; 643b53bb29fSJung-uk Kim xbox) 644b53bb29fSJung-uk Kim basic_machine=i686-pc 6458e022d3cSDag-Erling Smørgrav basic_os=mingw32 646b53bb29fSJung-uk Kim ;; 647b53bb29fSJung-uk Kim ymp) 648b53bb29fSJung-uk Kim basic_machine=ymp-cray 6498e022d3cSDag-Erling Smørgrav basic_os=unicos 650b53bb29fSJung-uk Kim ;; 651b53bb29fSJung-uk Kim *) 652b53bb29fSJung-uk Kim basic_machine=$1 6538e022d3cSDag-Erling Smørgrav basic_os= 654b53bb29fSJung-uk Kim ;; 655b53bb29fSJung-uk Kim esac 65698e903e7SBaptiste Daroussin ;; 65798e903e7SBaptiste Daroussinesac 65898e903e7SBaptiste Daroussin 659b53bb29fSJung-uk Kim# Decode 1-component or ad-hoc basic machines 66098e903e7SBaptiste Daroussincase $basic_machine in 661b53bb29fSJung-uk Kim # Here we handle the default manufacturer of certain CPU types. It is in 662b53bb29fSJung-uk Kim # some cases the only manufacturer, in others, it is the most popular. 663b53bb29fSJung-uk Kim w89k) 664b53bb29fSJung-uk Kim cpu=hppa1.1 665b53bb29fSJung-uk Kim vendor=winbond 666b53bb29fSJung-uk Kim ;; 667b53bb29fSJung-uk Kim op50n) 668b53bb29fSJung-uk Kim cpu=hppa1.1 669b53bb29fSJung-uk Kim vendor=oki 670b53bb29fSJung-uk Kim ;; 671b53bb29fSJung-uk Kim op60c) 672b53bb29fSJung-uk Kim cpu=hppa1.1 673b53bb29fSJung-uk Kim vendor=oki 674b53bb29fSJung-uk Kim ;; 675b53bb29fSJung-uk Kim ibm*) 676b53bb29fSJung-uk Kim cpu=i370 677b53bb29fSJung-uk Kim vendor=ibm 678b53bb29fSJung-uk Kim ;; 679b53bb29fSJung-uk Kim orion105) 680b53bb29fSJung-uk Kim cpu=clipper 681b53bb29fSJung-uk Kim vendor=highlevel 682b53bb29fSJung-uk Kim ;; 683b53bb29fSJung-uk Kim mac | mpw | mac-mpw) 684b53bb29fSJung-uk Kim cpu=m68k 685b53bb29fSJung-uk Kim vendor=apple 686b53bb29fSJung-uk Kim ;; 687b53bb29fSJung-uk Kim pmac | pmac-mpw) 688b53bb29fSJung-uk Kim cpu=powerpc 689b53bb29fSJung-uk Kim vendor=apple 690b53bb29fSJung-uk Kim ;; 691b53bb29fSJung-uk Kim 692b53bb29fSJung-uk Kim # Recognize the various machine names and aliases which stand 693b53bb29fSJung-uk Kim # for a CPU type and a company and sometimes even an OS. 694b53bb29fSJung-uk Kim 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 695b53bb29fSJung-uk Kim cpu=m68000 696b53bb29fSJung-uk Kim vendor=att 697b53bb29fSJung-uk Kim ;; 698b53bb29fSJung-uk Kim 3b*) 699b53bb29fSJung-uk Kim cpu=we32k 700b53bb29fSJung-uk Kim vendor=att 701b53bb29fSJung-uk Kim ;; 702b53bb29fSJung-uk Kim bluegene*) 703b53bb29fSJung-uk Kim cpu=powerpc 704b53bb29fSJung-uk Kim vendor=ibm 7058e022d3cSDag-Erling Smørgrav basic_os=cnk 706b53bb29fSJung-uk Kim ;; 707b53bb29fSJung-uk Kim decsystem10* | dec10*) 708b53bb29fSJung-uk Kim cpu=pdp10 709b53bb29fSJung-uk Kim vendor=dec 7108e022d3cSDag-Erling Smørgrav basic_os=tops10 711b53bb29fSJung-uk Kim ;; 712b53bb29fSJung-uk Kim decsystem20* | dec20*) 713b53bb29fSJung-uk Kim cpu=pdp10 714b53bb29fSJung-uk Kim vendor=dec 7158e022d3cSDag-Erling Smørgrav basic_os=tops20 716b53bb29fSJung-uk Kim ;; 717b53bb29fSJung-uk Kim delta | 3300 | motorola-3300 | motorola-delta \ 718b53bb29fSJung-uk Kim | 3300-motorola | delta-motorola) 719b53bb29fSJung-uk Kim cpu=m68k 720b53bb29fSJung-uk Kim vendor=motorola 721b53bb29fSJung-uk Kim ;; 722b53bb29fSJung-uk Kim dpx2*) 723b53bb29fSJung-uk Kim cpu=m68k 724b53bb29fSJung-uk Kim vendor=bull 7258e022d3cSDag-Erling Smørgrav basic_os=sysv3 726b53bb29fSJung-uk Kim ;; 727b53bb29fSJung-uk Kim encore | umax | mmax) 728b53bb29fSJung-uk Kim cpu=ns32k 729b53bb29fSJung-uk Kim vendor=encore 730b53bb29fSJung-uk Kim ;; 731b53bb29fSJung-uk Kim elxsi) 732b53bb29fSJung-uk Kim cpu=elxsi 733b53bb29fSJung-uk Kim vendor=elxsi 7348e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-bsd} 735b53bb29fSJung-uk Kim ;; 736b53bb29fSJung-uk Kim fx2800) 737b53bb29fSJung-uk Kim cpu=i860 738b53bb29fSJung-uk Kim vendor=alliant 739b53bb29fSJung-uk Kim ;; 740b53bb29fSJung-uk Kim genix) 741b53bb29fSJung-uk Kim cpu=ns32k 742b53bb29fSJung-uk Kim vendor=ns 743b53bb29fSJung-uk Kim ;; 744b53bb29fSJung-uk Kim h3050r* | hiux*) 745b53bb29fSJung-uk Kim cpu=hppa1.1 746b53bb29fSJung-uk Kim vendor=hitachi 7478e022d3cSDag-Erling Smørgrav basic_os=hiuxwe2 748b53bb29fSJung-uk Kim ;; 749b53bb29fSJung-uk Kim hp3k9[0-9][0-9] | hp9[0-9][0-9]) 750b53bb29fSJung-uk Kim cpu=hppa1.0 751b53bb29fSJung-uk Kim vendor=hp 752b53bb29fSJung-uk Kim ;; 753b53bb29fSJung-uk Kim hp9k2[0-9][0-9] | hp9k31[0-9]) 754b53bb29fSJung-uk Kim cpu=m68000 755b53bb29fSJung-uk Kim vendor=hp 756b53bb29fSJung-uk Kim ;; 757b53bb29fSJung-uk Kim hp9k3[2-9][0-9]) 758b53bb29fSJung-uk Kim cpu=m68k 759b53bb29fSJung-uk Kim vendor=hp 760b53bb29fSJung-uk Kim ;; 761b53bb29fSJung-uk Kim hp9k6[0-9][0-9] | hp6[0-9][0-9]) 762b53bb29fSJung-uk Kim cpu=hppa1.0 763b53bb29fSJung-uk Kim vendor=hp 764b53bb29fSJung-uk Kim ;; 765b53bb29fSJung-uk Kim hp9k7[0-79][0-9] | hp7[0-79][0-9]) 766b53bb29fSJung-uk Kim cpu=hppa1.1 767b53bb29fSJung-uk Kim vendor=hp 768b53bb29fSJung-uk Kim ;; 769b53bb29fSJung-uk Kim hp9k78[0-9] | hp78[0-9]) 770b53bb29fSJung-uk Kim # FIXME: really hppa2.0-hp 771b53bb29fSJung-uk Kim cpu=hppa1.1 772b53bb29fSJung-uk Kim vendor=hp 773b53bb29fSJung-uk Kim ;; 774b53bb29fSJung-uk Kim hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 775b53bb29fSJung-uk Kim # FIXME: really hppa2.0-hp 776b53bb29fSJung-uk Kim cpu=hppa1.1 777b53bb29fSJung-uk Kim vendor=hp 778b53bb29fSJung-uk Kim ;; 779b53bb29fSJung-uk Kim hp9k8[0-9][13679] | hp8[0-9][13679]) 780b53bb29fSJung-uk Kim cpu=hppa1.1 781b53bb29fSJung-uk Kim vendor=hp 782b53bb29fSJung-uk Kim ;; 783b53bb29fSJung-uk Kim hp9k8[0-9][0-9] | hp8[0-9][0-9]) 784b53bb29fSJung-uk Kim cpu=hppa1.0 785b53bb29fSJung-uk Kim vendor=hp 786b53bb29fSJung-uk Kim ;; 787b53bb29fSJung-uk Kim i*86v32) 788b53bb29fSJung-uk Kim cpu=`echo "$1" | sed -e 's/86.*/86/'` 789b53bb29fSJung-uk Kim vendor=pc 7908e022d3cSDag-Erling Smørgrav basic_os=sysv32 791b53bb29fSJung-uk Kim ;; 792b53bb29fSJung-uk Kim i*86v4*) 793b53bb29fSJung-uk Kim cpu=`echo "$1" | sed -e 's/86.*/86/'` 794b53bb29fSJung-uk Kim vendor=pc 7958e022d3cSDag-Erling Smørgrav basic_os=sysv4 796b53bb29fSJung-uk Kim ;; 797b53bb29fSJung-uk Kim i*86v) 798b53bb29fSJung-uk Kim cpu=`echo "$1" | sed -e 's/86.*/86/'` 799b53bb29fSJung-uk Kim vendor=pc 8008e022d3cSDag-Erling Smørgrav basic_os=sysv 801b53bb29fSJung-uk Kim ;; 802b53bb29fSJung-uk Kim i*86sol2) 803b53bb29fSJung-uk Kim cpu=`echo "$1" | sed -e 's/86.*/86/'` 804b53bb29fSJung-uk Kim vendor=pc 8058e022d3cSDag-Erling Smørgrav basic_os=solaris2 806b53bb29fSJung-uk Kim ;; 807b53bb29fSJung-uk Kim j90 | j90-cray) 808b53bb29fSJung-uk Kim cpu=j90 809b53bb29fSJung-uk Kim vendor=cray 8108e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-unicos} 811b53bb29fSJung-uk Kim ;; 812b53bb29fSJung-uk Kim iris | iris4d) 813b53bb29fSJung-uk Kim cpu=mips 814b53bb29fSJung-uk Kim vendor=sgi 8158e022d3cSDag-Erling Smørgrav case $basic_os in 816b53bb29fSJung-uk Kim irix*) 817b53bb29fSJung-uk Kim ;; 818b53bb29fSJung-uk Kim *) 8198e022d3cSDag-Erling Smørgrav basic_os=irix4 820b53bb29fSJung-uk Kim ;; 821b53bb29fSJung-uk Kim esac 822b53bb29fSJung-uk Kim ;; 823b53bb29fSJung-uk Kim miniframe) 824b53bb29fSJung-uk Kim cpu=m68000 825b53bb29fSJung-uk Kim vendor=convergent 826b53bb29fSJung-uk Kim ;; 827b53bb29fSJung-uk Kim *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 828b53bb29fSJung-uk Kim cpu=m68k 829b53bb29fSJung-uk Kim vendor=atari 8308e022d3cSDag-Erling Smørgrav basic_os=mint 831b53bb29fSJung-uk Kim ;; 832b53bb29fSJung-uk Kim news-3600 | risc-news) 833b53bb29fSJung-uk Kim cpu=mips 834b53bb29fSJung-uk Kim vendor=sony 8358e022d3cSDag-Erling Smørgrav basic_os=newsos 836b53bb29fSJung-uk Kim ;; 837b53bb29fSJung-uk Kim next | m*-next) 838b53bb29fSJung-uk Kim cpu=m68k 839b53bb29fSJung-uk Kim vendor=next 8408e022d3cSDag-Erling Smørgrav case $basic_os in 841b53bb29fSJung-uk Kim openstep*) 842b53bb29fSJung-uk Kim ;; 843b53bb29fSJung-uk Kim nextstep*) 844b53bb29fSJung-uk Kim ;; 845b53bb29fSJung-uk Kim ns2*) 8468e022d3cSDag-Erling Smørgrav basic_os=nextstep2 847b53bb29fSJung-uk Kim ;; 848b53bb29fSJung-uk Kim *) 8498e022d3cSDag-Erling Smørgrav basic_os=nextstep3 850b53bb29fSJung-uk Kim ;; 851b53bb29fSJung-uk Kim esac 852b53bb29fSJung-uk Kim ;; 853b53bb29fSJung-uk Kim np1) 854b53bb29fSJung-uk Kim cpu=np1 855b53bb29fSJung-uk Kim vendor=gould 856b53bb29fSJung-uk Kim ;; 857b53bb29fSJung-uk Kim op50n-* | op60c-*) 858b53bb29fSJung-uk Kim cpu=hppa1.1 859b53bb29fSJung-uk Kim vendor=oki 8608e022d3cSDag-Erling Smørgrav basic_os=proelf 861b53bb29fSJung-uk Kim ;; 862b53bb29fSJung-uk Kim pa-hitachi) 863b53bb29fSJung-uk Kim cpu=hppa1.1 864b53bb29fSJung-uk Kim vendor=hitachi 8658e022d3cSDag-Erling Smørgrav basic_os=hiuxwe2 866b53bb29fSJung-uk Kim ;; 867b53bb29fSJung-uk Kim pbd) 868b53bb29fSJung-uk Kim cpu=sparc 869b53bb29fSJung-uk Kim vendor=tti 870b53bb29fSJung-uk Kim ;; 871b53bb29fSJung-uk Kim pbb) 872b53bb29fSJung-uk Kim cpu=m68k 873b53bb29fSJung-uk Kim vendor=tti 874b53bb29fSJung-uk Kim ;; 875b53bb29fSJung-uk Kim pc532) 876b53bb29fSJung-uk Kim cpu=ns32k 877b53bb29fSJung-uk Kim vendor=pc532 878b53bb29fSJung-uk Kim ;; 879b53bb29fSJung-uk Kim pn) 880b53bb29fSJung-uk Kim cpu=pn 881b53bb29fSJung-uk Kim vendor=gould 882b53bb29fSJung-uk Kim ;; 883b53bb29fSJung-uk Kim power) 884b53bb29fSJung-uk Kim cpu=power 885b53bb29fSJung-uk Kim vendor=ibm 886b53bb29fSJung-uk Kim ;; 887b53bb29fSJung-uk Kim ps2) 888b53bb29fSJung-uk Kim cpu=i386 889b53bb29fSJung-uk Kim vendor=ibm 890b53bb29fSJung-uk Kim ;; 891b53bb29fSJung-uk Kim rm[46]00) 892b53bb29fSJung-uk Kim cpu=mips 893b53bb29fSJung-uk Kim vendor=siemens 894b53bb29fSJung-uk Kim ;; 895b53bb29fSJung-uk Kim rtpc | rtpc-*) 896b53bb29fSJung-uk Kim cpu=romp 897b53bb29fSJung-uk Kim vendor=ibm 898b53bb29fSJung-uk Kim ;; 899b53bb29fSJung-uk Kim sde) 900b53bb29fSJung-uk Kim cpu=mipsisa32 901b53bb29fSJung-uk Kim vendor=sde 9028e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-elf} 903b53bb29fSJung-uk Kim ;; 904b53bb29fSJung-uk Kim simso-wrs) 905b53bb29fSJung-uk Kim cpu=sparclite 906b53bb29fSJung-uk Kim vendor=wrs 9078e022d3cSDag-Erling Smørgrav basic_os=vxworks 908b53bb29fSJung-uk Kim ;; 909b53bb29fSJung-uk Kim tower | tower-32) 910b53bb29fSJung-uk Kim cpu=m68k 911b53bb29fSJung-uk Kim vendor=ncr 912b53bb29fSJung-uk Kim ;; 913b53bb29fSJung-uk Kim vpp*|vx|vx-*) 914b53bb29fSJung-uk Kim cpu=f301 915b53bb29fSJung-uk Kim vendor=fujitsu 916b53bb29fSJung-uk Kim ;; 917b53bb29fSJung-uk Kim w65) 918b53bb29fSJung-uk Kim cpu=w65 919b53bb29fSJung-uk Kim vendor=wdc 920b53bb29fSJung-uk Kim ;; 921b53bb29fSJung-uk Kim w89k-*) 922b53bb29fSJung-uk Kim cpu=hppa1.1 923b53bb29fSJung-uk Kim vendor=winbond 9248e022d3cSDag-Erling Smørgrav basic_os=proelf 925b53bb29fSJung-uk Kim ;; 926b53bb29fSJung-uk Kim none) 927b53bb29fSJung-uk Kim cpu=none 928b53bb29fSJung-uk Kim vendor=none 929b53bb29fSJung-uk Kim ;; 930b53bb29fSJung-uk Kim leon|leon[3-9]) 931b53bb29fSJung-uk Kim cpu=sparc 932b53bb29fSJung-uk Kim vendor=$basic_machine 933b53bb29fSJung-uk Kim ;; 934b53bb29fSJung-uk Kim leon-*|leon[3-9]-*) 935b53bb29fSJung-uk Kim cpu=sparc 936b53bb29fSJung-uk Kim vendor=`echo "$basic_machine" | sed 's/-.*//'` 937b53bb29fSJung-uk Kim ;; 938b53bb29fSJung-uk Kim 939b53bb29fSJung-uk Kim *-*) 940b53bb29fSJung-uk Kim # shellcheck disable=SC2162 9418e022d3cSDag-Erling Smørgrav saved_IFS=$IFS 942b53bb29fSJung-uk Kim IFS="-" read cpu vendor <<EOF 943b53bb29fSJung-uk Kim$basic_machine 944b53bb29fSJung-uk KimEOF 9458e022d3cSDag-Erling Smørgrav IFS=$saved_IFS 946b53bb29fSJung-uk Kim ;; 947*822ca327SBaptiste Daroussin # We use 'pc' rather than 'unknown' 948b53bb29fSJung-uk Kim # because (1) that's what they normally are, and 949b53bb29fSJung-uk Kim # (2) the word "unknown" tends to confuse beginning users. 950b53bb29fSJung-uk Kim i*86 | x86_64) 951b53bb29fSJung-uk Kim cpu=$basic_machine 952b53bb29fSJung-uk Kim vendor=pc 953b53bb29fSJung-uk Kim ;; 954b53bb29fSJung-uk Kim # These rules are duplicated from below for sake of the special case above; 955b53bb29fSJung-uk Kim # i.e. things that normalized to x86 arches should also default to "pc" 956b53bb29fSJung-uk Kim pc98) 957b53bb29fSJung-uk Kim cpu=i386 958b53bb29fSJung-uk Kim vendor=pc 959b53bb29fSJung-uk Kim ;; 960b53bb29fSJung-uk Kim x64 | amd64) 961b53bb29fSJung-uk Kim cpu=x86_64 962b53bb29fSJung-uk Kim vendor=pc 963b53bb29fSJung-uk Kim ;; 96498e903e7SBaptiste Daroussin # Recognize the basic CPU types without company name. 965b53bb29fSJung-uk Kim *) 966b53bb29fSJung-uk Kim cpu=$basic_machine 967b53bb29fSJung-uk Kim vendor=unknown 968b53bb29fSJung-uk Kim ;; 969b53bb29fSJung-uk Kimesac 970b53bb29fSJung-uk Kim 971b53bb29fSJung-uk Kimunset -v basic_machine 972b53bb29fSJung-uk Kim 973b53bb29fSJung-uk Kim# Decode basic machines in the full and proper CPU-Company form. 974b53bb29fSJung-uk Kimcase $cpu-$vendor in 975b53bb29fSJung-uk Kim # Here we handle the default manufacturer of certain CPU types in canonical form. It is in 976b53bb29fSJung-uk Kim # some cases the only manufacturer, in others, it is the most popular. 977b53bb29fSJung-uk Kim craynv-unknown) 978b53bb29fSJung-uk Kim vendor=cray 9798e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-unicosmp} 980b53bb29fSJung-uk Kim ;; 981b53bb29fSJung-uk Kim c90-unknown | c90-cray) 982b53bb29fSJung-uk Kim vendor=cray 9838e022d3cSDag-Erling Smørgrav basic_os=${Basic_os:-unicos} 984b53bb29fSJung-uk Kim ;; 985b53bb29fSJung-uk Kim fx80-unknown) 986b53bb29fSJung-uk Kim vendor=alliant 987b53bb29fSJung-uk Kim ;; 988b53bb29fSJung-uk Kim romp-unknown) 989b53bb29fSJung-uk Kim vendor=ibm 990b53bb29fSJung-uk Kim ;; 991b53bb29fSJung-uk Kim mmix-unknown) 992b53bb29fSJung-uk Kim vendor=knuth 993b53bb29fSJung-uk Kim ;; 994b53bb29fSJung-uk Kim microblaze-unknown | microblazeel-unknown) 995b53bb29fSJung-uk Kim vendor=xilinx 996b53bb29fSJung-uk Kim ;; 997b53bb29fSJung-uk Kim rs6000-unknown) 998b53bb29fSJung-uk Kim vendor=ibm 999b53bb29fSJung-uk Kim ;; 1000b53bb29fSJung-uk Kim vax-unknown) 1001b53bb29fSJung-uk Kim vendor=dec 1002b53bb29fSJung-uk Kim ;; 1003b53bb29fSJung-uk Kim pdp11-unknown) 1004b53bb29fSJung-uk Kim vendor=dec 1005b53bb29fSJung-uk Kim ;; 1006b53bb29fSJung-uk Kim we32k-unknown) 1007b53bb29fSJung-uk Kim vendor=att 1008b53bb29fSJung-uk Kim ;; 1009b53bb29fSJung-uk Kim cydra-unknown) 1010b53bb29fSJung-uk Kim vendor=cydrome 1011b53bb29fSJung-uk Kim ;; 1012b53bb29fSJung-uk Kim i370-ibm*) 1013b53bb29fSJung-uk Kim vendor=ibm 1014b53bb29fSJung-uk Kim ;; 1015b53bb29fSJung-uk Kim orion-unknown) 1016b53bb29fSJung-uk Kim vendor=highlevel 1017b53bb29fSJung-uk Kim ;; 1018b53bb29fSJung-uk Kim xps-unknown | xps100-unknown) 1019b53bb29fSJung-uk Kim cpu=xps100 1020b53bb29fSJung-uk Kim vendor=honeywell 1021b53bb29fSJung-uk Kim ;; 1022b53bb29fSJung-uk Kim 1023b53bb29fSJung-uk Kim # Here we normalize CPU types with a missing or matching vendor 10248e022d3cSDag-Erling Smørgrav armh-unknown | armh-alt) 10258e022d3cSDag-Erling Smørgrav cpu=armv7l 10268e022d3cSDag-Erling Smørgrav vendor=alt 10278e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-linux-gnueabihf} 10288e022d3cSDag-Erling Smørgrav ;; 1029b53bb29fSJung-uk Kim dpx20-unknown | dpx20-bull) 1030b53bb29fSJung-uk Kim cpu=rs6000 1031b53bb29fSJung-uk Kim vendor=bull 10328e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-bosx} 1033b53bb29fSJung-uk Kim ;; 1034b53bb29fSJung-uk Kim 1035b53bb29fSJung-uk Kim # Here we normalize CPU types irrespective of the vendor 1036b53bb29fSJung-uk Kim amd64-*) 1037b53bb29fSJung-uk Kim cpu=x86_64 1038b53bb29fSJung-uk Kim ;; 1039b53bb29fSJung-uk Kim blackfin-*) 1040b53bb29fSJung-uk Kim cpu=bfin 10418e022d3cSDag-Erling Smørgrav basic_os=linux 1042b53bb29fSJung-uk Kim ;; 1043b53bb29fSJung-uk Kim c54x-*) 1044b53bb29fSJung-uk Kim cpu=tic54x 1045b53bb29fSJung-uk Kim ;; 1046b53bb29fSJung-uk Kim c55x-*) 1047b53bb29fSJung-uk Kim cpu=tic55x 1048b53bb29fSJung-uk Kim ;; 1049b53bb29fSJung-uk Kim c6x-*) 1050b53bb29fSJung-uk Kim cpu=tic6x 1051b53bb29fSJung-uk Kim ;; 1052b53bb29fSJung-uk Kim e500v[12]-*) 1053b53bb29fSJung-uk Kim cpu=powerpc 10548e022d3cSDag-Erling Smørgrav basic_os=${basic_os}"spe" 1055b53bb29fSJung-uk Kim ;; 1056b53bb29fSJung-uk Kim mips3*-*) 1057b53bb29fSJung-uk Kim cpu=mips64 1058b53bb29fSJung-uk Kim ;; 1059b53bb29fSJung-uk Kim ms1-*) 1060b53bb29fSJung-uk Kim cpu=mt 1061b53bb29fSJung-uk Kim ;; 1062b53bb29fSJung-uk Kim m68knommu-*) 1063b53bb29fSJung-uk Kim cpu=m68k 10648e022d3cSDag-Erling Smørgrav basic_os=linux 1065b53bb29fSJung-uk Kim ;; 1066b53bb29fSJung-uk Kim m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 1067b53bb29fSJung-uk Kim cpu=s12z 1068b53bb29fSJung-uk Kim ;; 1069b53bb29fSJung-uk Kim openrisc-*) 1070b53bb29fSJung-uk Kim cpu=or32 1071b53bb29fSJung-uk Kim ;; 1072b53bb29fSJung-uk Kim parisc-*) 1073b53bb29fSJung-uk Kim cpu=hppa 10748e022d3cSDag-Erling Smørgrav basic_os=linux 1075b53bb29fSJung-uk Kim ;; 1076b53bb29fSJung-uk Kim pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1077b53bb29fSJung-uk Kim cpu=i586 1078b53bb29fSJung-uk Kim ;; 1079*822ca327SBaptiste Daroussin pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*) 1080b53bb29fSJung-uk Kim cpu=i686 1081b53bb29fSJung-uk Kim ;; 1082b53bb29fSJung-uk Kim pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1083b53bb29fSJung-uk Kim cpu=i686 1084b53bb29fSJung-uk Kim ;; 1085b53bb29fSJung-uk Kim pentium4-*) 1086b53bb29fSJung-uk Kim cpu=i786 1087b53bb29fSJung-uk Kim ;; 1088b53bb29fSJung-uk Kim pc98-*) 1089b53bb29fSJung-uk Kim cpu=i386 1090b53bb29fSJung-uk Kim ;; 1091b53bb29fSJung-uk Kim ppc-* | ppcbe-*) 1092b53bb29fSJung-uk Kim cpu=powerpc 1093b53bb29fSJung-uk Kim ;; 1094b53bb29fSJung-uk Kim ppcle-* | powerpclittle-*) 1095b53bb29fSJung-uk Kim cpu=powerpcle 1096b53bb29fSJung-uk Kim ;; 1097b53bb29fSJung-uk Kim ppc64-*) 1098b53bb29fSJung-uk Kim cpu=powerpc64 1099b53bb29fSJung-uk Kim ;; 1100b53bb29fSJung-uk Kim ppc64le-* | powerpc64little-*) 1101b53bb29fSJung-uk Kim cpu=powerpc64le 1102b53bb29fSJung-uk Kim ;; 1103b53bb29fSJung-uk Kim sb1-*) 1104b53bb29fSJung-uk Kim cpu=mipsisa64sb1 1105b53bb29fSJung-uk Kim ;; 1106b53bb29fSJung-uk Kim sb1el-*) 1107b53bb29fSJung-uk Kim cpu=mipsisa64sb1el 1108b53bb29fSJung-uk Kim ;; 1109b53bb29fSJung-uk Kim sh5e[lb]-*) 1110b53bb29fSJung-uk Kim cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` 1111b53bb29fSJung-uk Kim ;; 1112b53bb29fSJung-uk Kim spur-*) 1113b53bb29fSJung-uk Kim cpu=spur 1114b53bb29fSJung-uk Kim ;; 1115b53bb29fSJung-uk Kim strongarm-* | thumb-*) 1116b53bb29fSJung-uk Kim cpu=arm 1117b53bb29fSJung-uk Kim ;; 1118b53bb29fSJung-uk Kim tx39-*) 1119b53bb29fSJung-uk Kim cpu=mipstx39 1120b53bb29fSJung-uk Kim ;; 1121b53bb29fSJung-uk Kim tx39el-*) 1122b53bb29fSJung-uk Kim cpu=mipstx39el 1123b53bb29fSJung-uk Kim ;; 1124b53bb29fSJung-uk Kim x64-*) 1125b53bb29fSJung-uk Kim cpu=x86_64 1126b53bb29fSJung-uk Kim ;; 1127b53bb29fSJung-uk Kim xscale-* | xscalee[bl]-*) 1128b53bb29fSJung-uk Kim cpu=`echo "$cpu" | sed 's/^xscale/arm/'` 1129b53bb29fSJung-uk Kim ;; 11308e022d3cSDag-Erling Smørgrav arm64-* | aarch64le-*) 11318e022d3cSDag-Erling Smørgrav cpu=aarch64 11328e022d3cSDag-Erling Smørgrav ;; 1133b53bb29fSJung-uk Kim 1134b53bb29fSJung-uk Kim # Recognize the canonical CPU Types that limit and/or modify the 1135b53bb29fSJung-uk Kim # company names they are paired with. 1136b53bb29fSJung-uk Kim cr16-*) 11378e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-elf} 1138b53bb29fSJung-uk Kim ;; 1139b53bb29fSJung-uk Kim crisv32-* | etraxfs*-*) 1140b53bb29fSJung-uk Kim cpu=crisv32 1141b53bb29fSJung-uk Kim vendor=axis 1142b53bb29fSJung-uk Kim ;; 1143b53bb29fSJung-uk Kim cris-* | etrax*-*) 1144b53bb29fSJung-uk Kim cpu=cris 1145b53bb29fSJung-uk Kim vendor=axis 1146b53bb29fSJung-uk Kim ;; 1147b53bb29fSJung-uk Kim crx-*) 11488e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-elf} 1149b53bb29fSJung-uk Kim ;; 1150b53bb29fSJung-uk Kim neo-tandem) 1151b53bb29fSJung-uk Kim cpu=neo 1152b53bb29fSJung-uk Kim vendor=tandem 1153b53bb29fSJung-uk Kim ;; 1154b53bb29fSJung-uk Kim nse-tandem) 1155b53bb29fSJung-uk Kim cpu=nse 1156b53bb29fSJung-uk Kim vendor=tandem 1157b53bb29fSJung-uk Kim ;; 1158b53bb29fSJung-uk Kim nsr-tandem) 1159b53bb29fSJung-uk Kim cpu=nsr 1160b53bb29fSJung-uk Kim vendor=tandem 1161b53bb29fSJung-uk Kim ;; 1162b53bb29fSJung-uk Kim nsv-tandem) 1163b53bb29fSJung-uk Kim cpu=nsv 1164b53bb29fSJung-uk Kim vendor=tandem 1165b53bb29fSJung-uk Kim ;; 1166b53bb29fSJung-uk Kim nsx-tandem) 1167b53bb29fSJung-uk Kim cpu=nsx 1168b53bb29fSJung-uk Kim vendor=tandem 1169b53bb29fSJung-uk Kim ;; 11708e022d3cSDag-Erling Smørgrav mipsallegrexel-sony) 11718e022d3cSDag-Erling Smørgrav cpu=mipsallegrexel 11728e022d3cSDag-Erling Smørgrav vendor=sony 1173b53bb29fSJung-uk Kim ;; 1174b53bb29fSJung-uk Kim tile*-*) 11758e022d3cSDag-Erling Smørgrav basic_os=${basic_os:-linux-gnu} 1176b53bb29fSJung-uk Kim ;; 1177b53bb29fSJung-uk Kim 1178b53bb29fSJung-uk Kim *) 1179b53bb29fSJung-uk Kim # Recognize the canonical CPU types that are allowed with any 1180b53bb29fSJung-uk Kim # company name. 1181b53bb29fSJung-uk Kim case $cpu in 118298e903e7SBaptiste Daroussin 1750a | 580 \ 118398e903e7SBaptiste Daroussin | a29k \ 1184*822ca327SBaptiste Daroussin | aarch64 | aarch64_be | aarch64c | arm64ec \ 1185b53bb29fSJung-uk Kim | abacus \ 1186b53bb29fSJung-uk Kim | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ 1187b53bb29fSJung-uk Kim | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ 1188b53bb29fSJung-uk Kim | alphapca5[67] | alpha64pca5[67] \ 118998e903e7SBaptiste Daroussin | am33_2.0 \ 1190b53bb29fSJung-uk Kim | amdgcn \ 11918e022d3cSDag-Erling Smørgrav | arc | arceb | arc32 | arc64 \ 1192b53bb29fSJung-uk Kim | arm | arm[lb]e | arme[lb] | armv* \ 11935b91e83fSBaptiste Daroussin | avr | avr32 \ 1194b53bb29fSJung-uk Kim | asmjs \ 119520afc491SJung-uk Kim | ba \ 11965b91e83fSBaptiste Daroussin | be32 | be64 \ 1197b53bb29fSJung-uk Kim | bfin | bpf | bs2000 \ 1198b53bb29fSJung-uk Kim | c[123]* | c30 | [cjt]90 | c4x \ 1199b53bb29fSJung-uk Kim | c8051 | clipper | craynv | csky | cydra \ 120098e903e7SBaptiste Daroussin | d10v | d30v | dlx | dsp16xx \ 1201b53bb29fSJung-uk Kim | e2k | elxsi | epiphany \ 1202b53bb29fSJung-uk Kim | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ 1203*822ca327SBaptiste Daroussin | javascript \ 1204b53bb29fSJung-uk Kim | h8300 | h8500 \ 1205b53bb29fSJung-uk Kim | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 12065b91e83fSBaptiste Daroussin | hexagon \ 1207b53bb29fSJung-uk Kim | i370 | i*86 | i860 | i960 | ia16 | ia64 \ 120898e903e7SBaptiste Daroussin | ip2k | iq2000 \ 12094b4a8fcaSBaptiste Daroussin | k1om \ 1210*822ca327SBaptiste Daroussin | kvx \ 12115b91e83fSBaptiste Daroussin | le32 | le64 \ 121298e903e7SBaptiste Daroussin | lm32 \ 12138e022d3cSDag-Erling Smørgrav | loongarch32 | loongarch64 \ 1214b53bb29fSJung-uk Kim | m32c | m32r | m32rle \ 1215b53bb29fSJung-uk Kim | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ 1216b53bb29fSJung-uk Kim | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ 1217b53bb29fSJung-uk Kim | m88110 | m88k | maxq | mb | mcore | mep | metag \ 1218b53bb29fSJung-uk Kim | microblaze | microblazeel \ 1219*822ca327SBaptiste Daroussin | mips* \ 1220b53bb29fSJung-uk Kim | mmix \ 122198e903e7SBaptiste Daroussin | mn10200 | mn10300 \ 122298e903e7SBaptiste Daroussin | moxie \ 122398e903e7SBaptiste Daroussin | mt \ 122498e903e7SBaptiste Daroussin | msp430 \ 122598e903e7SBaptiste Daroussin | nds32 | nds32le | nds32be \ 1226b53bb29fSJung-uk Kim | nfp \ 12275b91e83fSBaptiste Daroussin | nios | nios2 | nios2eb | nios2el \ 1228b53bb29fSJung-uk Kim | none | np1 | ns16k | ns32k | nvptx \ 1229b53bb29fSJung-uk Kim | open8 \ 1230b53bb29fSJung-uk Kim | or1k* \ 1231b53bb29fSJung-uk Kim | or32 \ 1232b53bb29fSJung-uk Kim | orion \ 1233b53bb29fSJung-uk Kim | picochip \ 1234b53bb29fSJung-uk Kim | pdp10 | pdp11 | pj | pjl | pn | power \ 1235b53bb29fSJung-uk Kim | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ 12362aca18c7SJung-uk Kim | pru \ 123798e903e7SBaptiste Daroussin | pyramid \ 12388e022d3cSDag-Erling Smørgrav | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ 1239b53bb29fSJung-uk Kim | rl78 | romp | rs6000 | rx \ 12408e022d3cSDag-Erling Smørgrav | s390 | s390x \ 124198e903e7SBaptiste Daroussin | score \ 1242b53bb29fSJung-uk Kim | sh | shl \ 1243b53bb29fSJung-uk Kim | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ 1244b53bb29fSJung-uk Kim | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ 1245b53bb29fSJung-uk Kim | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ 1246b53bb29fSJung-uk Kim | sparclite \ 1247b53bb29fSJung-uk Kim | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ 124898e903e7SBaptiste Daroussin | spu \ 1249b53bb29fSJung-uk Kim | tahoe \ 12508e022d3cSDag-Erling Smørgrav | thumbv7* \ 1251b53bb29fSJung-uk Kim | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ 1252b53bb29fSJung-uk Kim | tron \ 125398e903e7SBaptiste Daroussin | ubicom32 \ 1254b53bb29fSJung-uk Kim | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ 1255b53bb29fSJung-uk Kim | vax \ 12560f86d14eSJung-uk Kim | visium \ 1257b53bb29fSJung-uk Kim | w65 \ 1258b53bb29fSJung-uk Kim | wasm32 | wasm64 \ 125998e903e7SBaptiste Daroussin | we32k \ 1260b53bb29fSJung-uk Kim | x86 | x86_64 | xc16x | xgate | xps100 \ 1261b53bb29fSJung-uk Kim | xstormy16 | xtensa* \ 1262b53bb29fSJung-uk Kim | ymp \ 126398e903e7SBaptiste Daroussin | z8k | z80) 126498e903e7SBaptiste Daroussin ;; 12655b91e83fSBaptiste Daroussin 1266b53bb29fSJung-uk Kim *) 1267*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 126898e903e7SBaptiste Daroussin exit 1 126998e903e7SBaptiste Daroussin ;; 127098e903e7SBaptiste Daroussin esac 127198e903e7SBaptiste Daroussin ;; 127298e903e7SBaptiste Daroussinesac 127398e903e7SBaptiste Daroussin 127498e903e7SBaptiste Daroussin# Here we canonicalize certain aliases for manufacturers. 1275b53bb29fSJung-uk Kimcase $vendor in 1276b53bb29fSJung-uk Kim digital*) 1277b53bb29fSJung-uk Kim vendor=dec 127898e903e7SBaptiste Daroussin ;; 1279b53bb29fSJung-uk Kim commodore*) 1280b53bb29fSJung-uk Kim vendor=cbm 128198e903e7SBaptiste Daroussin ;; 128298e903e7SBaptiste Daroussin *) 128398e903e7SBaptiste Daroussin ;; 128498e903e7SBaptiste Daroussinesac 128598e903e7SBaptiste Daroussin 128698e903e7SBaptiste Daroussin# Decode manufacturer-specific aliases for certain operating systems. 128798e903e7SBaptiste Daroussin 1288*822ca327SBaptiste Daroussinif test x"$basic_os" != x 128998e903e7SBaptiste Daroussinthen 12908e022d3cSDag-Erling Smørgrav 12918e022d3cSDag-Erling Smørgrav# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just 12928e022d3cSDag-Erling Smørgrav# set os. 1293*822ca327SBaptiste Daroussinobj= 12948e022d3cSDag-Erling Smørgravcase $basic_os in 12958e022d3cSDag-Erling Smørgrav gnu/linux*) 12968e022d3cSDag-Erling Smørgrav kernel=linux 12978e022d3cSDag-Erling Smørgrav os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` 12988e022d3cSDag-Erling Smørgrav ;; 12998e022d3cSDag-Erling Smørgrav os2-emx) 13008e022d3cSDag-Erling Smørgrav kernel=os2 13018e022d3cSDag-Erling Smørgrav os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` 13028e022d3cSDag-Erling Smørgrav ;; 13038e022d3cSDag-Erling Smørgrav nto-qnx*) 13048e022d3cSDag-Erling Smørgrav kernel=nto 13058e022d3cSDag-Erling Smørgrav os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` 13068e022d3cSDag-Erling Smørgrav ;; 13078e022d3cSDag-Erling Smørgrav *-*) 13088e022d3cSDag-Erling Smørgrav # shellcheck disable=SC2162 13098e022d3cSDag-Erling Smørgrav saved_IFS=$IFS 13108e022d3cSDag-Erling Smørgrav IFS="-" read kernel os <<EOF 13118e022d3cSDag-Erling Smørgrav$basic_os 13128e022d3cSDag-Erling SmørgravEOF 13138e022d3cSDag-Erling Smørgrav IFS=$saved_IFS 13148e022d3cSDag-Erling Smørgrav ;; 13158e022d3cSDag-Erling Smørgrav # Default OS when just kernel was specified 13168e022d3cSDag-Erling Smørgrav nto*) 13178e022d3cSDag-Erling Smørgrav kernel=nto 13188e022d3cSDag-Erling Smørgrav os=`echo "$basic_os" | sed -e 's|nto|qnx|'` 13198e022d3cSDag-Erling Smørgrav ;; 13208e022d3cSDag-Erling Smørgrav linux*) 13218e022d3cSDag-Erling Smørgrav kernel=linux 13228e022d3cSDag-Erling Smørgrav os=`echo "$basic_os" | sed -e 's|linux|gnu|'` 13238e022d3cSDag-Erling Smørgrav ;; 1324*822ca327SBaptiste Daroussin managarm*) 1325*822ca327SBaptiste Daroussin kernel=managarm 1326*822ca327SBaptiste Daroussin os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` 1327*822ca327SBaptiste Daroussin ;; 13288e022d3cSDag-Erling Smørgrav *) 13298e022d3cSDag-Erling Smørgrav kernel= 13308e022d3cSDag-Erling Smørgrav os=$basic_os 13318e022d3cSDag-Erling Smørgrav ;; 13328e022d3cSDag-Erling Smørgravesac 13338e022d3cSDag-Erling Smørgrav 13348e022d3cSDag-Erling Smørgrav# Now, normalize the OS (knowing we just have one component, it's not a kernel, 13358e022d3cSDag-Erling Smørgrav# etc.) 133698e903e7SBaptiste Daroussincase $os in 1337b53bb29fSJung-uk Kim # First match some system type aliases that might get confused 1338b53bb29fSJung-uk Kim # with valid system types. 1339b53bb29fSJung-uk Kim # solaris* is a basic system type, with this one exception. 1340b53bb29fSJung-uk Kim auroraux) 1341b53bb29fSJung-uk Kim os=auroraux 134298e903e7SBaptiste Daroussin ;; 1343b53bb29fSJung-uk Kim bluegene*) 1344b53bb29fSJung-uk Kim os=cnk 1345b53bb29fSJung-uk Kim ;; 1346b53bb29fSJung-uk Kim solaris1 | solaris1.*) 13478e022d3cSDag-Erling Smørgrav os=`echo "$os" | sed -e 's|solaris1|sunos4|'` 134898e903e7SBaptiste Daroussin ;; 1349b53bb29fSJung-uk Kim solaris) 1350b53bb29fSJung-uk Kim os=solaris2 135198e903e7SBaptiste Daroussin ;; 1352b53bb29fSJung-uk Kim unixware*) 1353b53bb29fSJung-uk Kim os=sysv4.2uw 135498e903e7SBaptiste Daroussin ;; 1355b53bb29fSJung-uk Kim # es1800 is here to avoid being matched by es* (a different OS) 1356b53bb29fSJung-uk Kim es1800*) 1357b53bb29fSJung-uk Kim os=ose 1358b53bb29fSJung-uk Kim ;; 1359b53bb29fSJung-uk Kim # Some version numbers need modification 1360b53bb29fSJung-uk Kim chorusos*) 1361b53bb29fSJung-uk Kim os=chorusos 1362b53bb29fSJung-uk Kim ;; 1363b53bb29fSJung-uk Kim isc) 1364b53bb29fSJung-uk Kim os=isc2.2 1365b53bb29fSJung-uk Kim ;; 1366b53bb29fSJung-uk Kim sco6) 1367b53bb29fSJung-uk Kim os=sco5v6 1368b53bb29fSJung-uk Kim ;; 1369b53bb29fSJung-uk Kim sco5) 1370b53bb29fSJung-uk Kim os=sco3.2v5 1371b53bb29fSJung-uk Kim ;; 1372b53bb29fSJung-uk Kim sco4) 1373b53bb29fSJung-uk Kim os=sco3.2v4 1374b53bb29fSJung-uk Kim ;; 1375b53bb29fSJung-uk Kim sco3.2.[4-9]*) 13768e022d3cSDag-Erling Smørgrav os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` 1377b53bb29fSJung-uk Kim ;; 13788e022d3cSDag-Erling Smørgrav sco*v* | scout) 1379b53bb29fSJung-uk Kim # Don't match below 1380b53bb29fSJung-uk Kim ;; 1381b53bb29fSJung-uk Kim sco*) 1382b53bb29fSJung-uk Kim os=sco3.2v2 1383b53bb29fSJung-uk Kim ;; 1384b53bb29fSJung-uk Kim psos*) 1385b53bb29fSJung-uk Kim os=psos 1386b53bb29fSJung-uk Kim ;; 1387b53bb29fSJung-uk Kim qnx*) 13888e022d3cSDag-Erling Smørgrav os=qnx 138998e903e7SBaptiste Daroussin ;; 1390b53bb29fSJung-uk Kim hiux*) 1391b53bb29fSJung-uk Kim os=hiuxwe2 139298e903e7SBaptiste Daroussin ;; 1393b53bb29fSJung-uk Kim lynx*178) 1394b53bb29fSJung-uk Kim os=lynxos178 139598e903e7SBaptiste Daroussin ;; 1396b53bb29fSJung-uk Kim lynx*5) 1397b53bb29fSJung-uk Kim os=lynxos5 139898e903e7SBaptiste Daroussin ;; 13998e022d3cSDag-Erling Smørgrav lynxos*) 14008e022d3cSDag-Erling Smørgrav # don't get caught up in next wildcard 14018e022d3cSDag-Erling Smørgrav ;; 1402b53bb29fSJung-uk Kim lynx*) 1403b53bb29fSJung-uk Kim os=lynxos 140498e903e7SBaptiste Daroussin ;; 14058e022d3cSDag-Erling Smørgrav mac[0-9]*) 1406b53bb29fSJung-uk Kim os=`echo "$os" | sed -e 's|mac|macos|'` 140798e903e7SBaptiste Daroussin ;; 1408b53bb29fSJung-uk Kim opened*) 1409b53bb29fSJung-uk Kim os=openedition 141098e903e7SBaptiste Daroussin ;; 1411b53bb29fSJung-uk Kim os400*) 1412b53bb29fSJung-uk Kim os=os400 141398e903e7SBaptiste Daroussin ;; 1414b53bb29fSJung-uk Kim sunos5*) 1415b53bb29fSJung-uk Kim os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 141698e903e7SBaptiste Daroussin ;; 1417b53bb29fSJung-uk Kim sunos6*) 1418b53bb29fSJung-uk Kim os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 141998e903e7SBaptiste Daroussin ;; 1420b53bb29fSJung-uk Kim wince*) 1421b53bb29fSJung-uk Kim os=wince 142298e903e7SBaptiste Daroussin ;; 1423b53bb29fSJung-uk Kim utek*) 1424b53bb29fSJung-uk Kim os=bsd 142598e903e7SBaptiste Daroussin ;; 1426b53bb29fSJung-uk Kim dynix*) 1427b53bb29fSJung-uk Kim os=bsd 142898e903e7SBaptiste Daroussin ;; 1429b53bb29fSJung-uk Kim acis*) 1430b53bb29fSJung-uk Kim os=aos 143198e903e7SBaptiste Daroussin ;; 1432b53bb29fSJung-uk Kim atheos*) 1433b53bb29fSJung-uk Kim os=atheos 143498e903e7SBaptiste Daroussin ;; 1435b53bb29fSJung-uk Kim syllable*) 1436b53bb29fSJung-uk Kim os=syllable 143798e903e7SBaptiste Daroussin ;; 1438b53bb29fSJung-uk Kim 386bsd) 1439b53bb29fSJung-uk Kim os=bsd 144098e903e7SBaptiste Daroussin ;; 1441b53bb29fSJung-uk Kim ctix* | uts*) 1442b53bb29fSJung-uk Kim os=sysv 144398e903e7SBaptiste Daroussin ;; 1444b53bb29fSJung-uk Kim nova*) 1445b53bb29fSJung-uk Kim os=rtmk-nova 1446b53bb29fSJung-uk Kim ;; 1447b53bb29fSJung-uk Kim ns2) 1448b53bb29fSJung-uk Kim os=nextstep2 144998e903e7SBaptiste Daroussin ;; 145098e903e7SBaptiste Daroussin # Preserve the version number of sinix5. 1451b53bb29fSJung-uk Kim sinix5.*) 14528e022d3cSDag-Erling Smørgrav os=`echo "$os" | sed -e 's|sinix|sysv|'` 145398e903e7SBaptiste Daroussin ;; 1454b53bb29fSJung-uk Kim sinix*) 1455b53bb29fSJung-uk Kim os=sysv4 145698e903e7SBaptiste Daroussin ;; 1457b53bb29fSJung-uk Kim tpf*) 1458b53bb29fSJung-uk Kim os=tpf 145998e903e7SBaptiste Daroussin ;; 1460b53bb29fSJung-uk Kim triton*) 1461b53bb29fSJung-uk Kim os=sysv3 146298e903e7SBaptiste Daroussin ;; 1463b53bb29fSJung-uk Kim oss*) 1464b53bb29fSJung-uk Kim os=sysv3 146598e903e7SBaptiste Daroussin ;; 1466b53bb29fSJung-uk Kim svr4*) 1467b53bb29fSJung-uk Kim os=sysv4 146898e903e7SBaptiste Daroussin ;; 1469b53bb29fSJung-uk Kim svr3) 1470b53bb29fSJung-uk Kim os=sysv3 147198e903e7SBaptiste Daroussin ;; 1472b53bb29fSJung-uk Kim sysvr4) 1473b53bb29fSJung-uk Kim os=sysv4 147498e903e7SBaptiste Daroussin ;; 1475b53bb29fSJung-uk Kim ose*) 1476b53bb29fSJung-uk Kim os=ose 147798e903e7SBaptiste Daroussin ;; 1478b53bb29fSJung-uk Kim *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1479b53bb29fSJung-uk Kim os=mint 148098e903e7SBaptiste Daroussin ;; 1481b53bb29fSJung-uk Kim dicos*) 1482b53bb29fSJung-uk Kim os=dicos 148398e903e7SBaptiste Daroussin ;; 1484b53bb29fSJung-uk Kim pikeos*) 1485b53bb29fSJung-uk Kim # Until real need of OS specific support for 1486b53bb29fSJung-uk Kim # particular features comes up, bare metal 1487b53bb29fSJung-uk Kim # configurations are quite functional. 1488b53bb29fSJung-uk Kim case $cpu in 1489b53bb29fSJung-uk Kim arm*) 1490b53bb29fSJung-uk Kim os=eabi 149198e903e7SBaptiste Daroussin ;; 149298e903e7SBaptiste Daroussin *) 1493*822ca327SBaptiste Daroussin os= 1494*822ca327SBaptiste Daroussin obj=elf 1495b53bb29fSJung-uk Kim ;; 1496b53bb29fSJung-uk Kim esac 1497b53bb29fSJung-uk Kim ;; 1498*822ca327SBaptiste Daroussin aout* | coff* | elf* | pe*) 1499*822ca327SBaptiste Daroussin # These are machine code file formats, not OSes 1500*822ca327SBaptiste Daroussin obj=$os 1501*822ca327SBaptiste Daroussin os= 1502*822ca327SBaptiste Daroussin ;; 1503b53bb29fSJung-uk Kim *) 15048e022d3cSDag-Erling Smørgrav # No normalization, but not necessarily accepted, that comes below. 150598e903e7SBaptiste Daroussin ;; 150698e903e7SBaptiste Daroussinesac 15078e022d3cSDag-Erling Smørgrav 150898e903e7SBaptiste Daroussinelse 150998e903e7SBaptiste Daroussin 151098e903e7SBaptiste Daroussin# Here we handle the default operating systems that come with various machines. 151198e903e7SBaptiste Daroussin# The value should be what the vendor currently ships out the door with their 151298e903e7SBaptiste Daroussin# machine or put another way, the most popular os provided with the machine. 151398e903e7SBaptiste Daroussin 151498e903e7SBaptiste Daroussin# Note that if you're going to try to match "-MANUFACTURER" here (say, 151598e903e7SBaptiste Daroussin# "-sun"), then you have to tell the case statement up towards the top 151698e903e7SBaptiste Daroussin# that MANUFACTURER isn't an operating system. Otherwise, code above 151798e903e7SBaptiste Daroussin# will signal an error saying that MANUFACTURER isn't an operating 151898e903e7SBaptiste Daroussin# system, and we'll never get to this point. 151998e903e7SBaptiste Daroussin 15208e022d3cSDag-Erling Smørgravkernel= 1521*822ca327SBaptiste Daroussinobj= 1522b53bb29fSJung-uk Kimcase $cpu-$vendor in 152398e903e7SBaptiste Daroussin score-*) 1524*822ca327SBaptiste Daroussin os= 1525*822ca327SBaptiste Daroussin obj=elf 152698e903e7SBaptiste Daroussin ;; 152798e903e7SBaptiste Daroussin spu-*) 1528*822ca327SBaptiste Daroussin os= 1529*822ca327SBaptiste Daroussin obj=elf 153098e903e7SBaptiste Daroussin ;; 153198e903e7SBaptiste Daroussin *-acorn) 1532b53bb29fSJung-uk Kim os=riscix1.2 153398e903e7SBaptiste Daroussin ;; 153498e903e7SBaptiste Daroussin arm*-rebel) 15358e022d3cSDag-Erling Smørgrav kernel=linux 15368e022d3cSDag-Erling Smørgrav os=gnu 153798e903e7SBaptiste Daroussin ;; 153898e903e7SBaptiste Daroussin arm*-semi) 1539*822ca327SBaptiste Daroussin os= 1540*822ca327SBaptiste Daroussin obj=aout 154198e903e7SBaptiste Daroussin ;; 154298e903e7SBaptiste Daroussin c4x-* | tic4x-*) 1543*822ca327SBaptiste Daroussin os= 1544*822ca327SBaptiste Daroussin obj=coff 154598e903e7SBaptiste Daroussin ;; 15467dde5df4SBaptiste Daroussin c8051-*) 1547*822ca327SBaptiste Daroussin os= 1548*822ca327SBaptiste Daroussin obj=elf 1549b53bb29fSJung-uk Kim ;; 1550b53bb29fSJung-uk Kim clipper-intergraph) 1551b53bb29fSJung-uk Kim os=clix 15527dde5df4SBaptiste Daroussin ;; 15535b91e83fSBaptiste Daroussin hexagon-*) 1554*822ca327SBaptiste Daroussin os= 1555*822ca327SBaptiste Daroussin obj=elf 15565b91e83fSBaptiste Daroussin ;; 155798e903e7SBaptiste Daroussin tic54x-*) 1558*822ca327SBaptiste Daroussin os= 1559*822ca327SBaptiste Daroussin obj=coff 156098e903e7SBaptiste Daroussin ;; 156198e903e7SBaptiste Daroussin tic55x-*) 1562*822ca327SBaptiste Daroussin os= 1563*822ca327SBaptiste Daroussin obj=coff 156498e903e7SBaptiste Daroussin ;; 156598e903e7SBaptiste Daroussin tic6x-*) 1566*822ca327SBaptiste Daroussin os= 1567*822ca327SBaptiste Daroussin obj=coff 156898e903e7SBaptiste Daroussin ;; 156998e903e7SBaptiste Daroussin # This must come before the *-dec entry. 157098e903e7SBaptiste Daroussin pdp10-*) 1571b53bb29fSJung-uk Kim os=tops20 157298e903e7SBaptiste Daroussin ;; 157398e903e7SBaptiste Daroussin pdp11-*) 1574b53bb29fSJung-uk Kim os=none 157598e903e7SBaptiste Daroussin ;; 157698e903e7SBaptiste Daroussin *-dec | vax-*) 1577b53bb29fSJung-uk Kim os=ultrix4.2 157898e903e7SBaptiste Daroussin ;; 157998e903e7SBaptiste Daroussin m68*-apollo) 1580b53bb29fSJung-uk Kim os=domain 158198e903e7SBaptiste Daroussin ;; 158298e903e7SBaptiste Daroussin i386-sun) 1583b53bb29fSJung-uk Kim os=sunos4.0.2 158498e903e7SBaptiste Daroussin ;; 158598e903e7SBaptiste Daroussin m68000-sun) 1586b53bb29fSJung-uk Kim os=sunos3 158798e903e7SBaptiste Daroussin ;; 158898e903e7SBaptiste Daroussin m68*-cisco) 1589*822ca327SBaptiste Daroussin os= 1590*822ca327SBaptiste Daroussin obj=aout 159198e903e7SBaptiste Daroussin ;; 159298e903e7SBaptiste Daroussin mep-*) 1593*822ca327SBaptiste Daroussin os= 1594*822ca327SBaptiste Daroussin obj=elf 159598e903e7SBaptiste Daroussin ;; 159698e903e7SBaptiste Daroussin mips*-cisco) 1597*822ca327SBaptiste Daroussin os= 1598*822ca327SBaptiste Daroussin obj=elf 159998e903e7SBaptiste Daroussin ;; 160098e903e7SBaptiste Daroussin mips*-*) 1601*822ca327SBaptiste Daroussin os= 1602*822ca327SBaptiste Daroussin obj=elf 160398e903e7SBaptiste Daroussin ;; 160498e903e7SBaptiste Daroussin or32-*) 1605*822ca327SBaptiste Daroussin os= 1606*822ca327SBaptiste Daroussin obj=coff 160798e903e7SBaptiste Daroussin ;; 160898e903e7SBaptiste Daroussin *-tti) # must be before sparc entry or we get the wrong os. 1609b53bb29fSJung-uk Kim os=sysv3 161098e903e7SBaptiste Daroussin ;; 161198e903e7SBaptiste Daroussin sparc-* | *-sun) 1612b53bb29fSJung-uk Kim os=sunos4.1.1 161398e903e7SBaptiste Daroussin ;; 16143e794565SJung-uk Kim pru-*) 1615*822ca327SBaptiste Daroussin os= 1616*822ca327SBaptiste Daroussin obj=elf 16173e794565SJung-uk Kim ;; 161898e903e7SBaptiste Daroussin *-be) 1619b53bb29fSJung-uk Kim os=beos 162098e903e7SBaptiste Daroussin ;; 162198e903e7SBaptiste Daroussin *-ibm) 1622b53bb29fSJung-uk Kim os=aix 162398e903e7SBaptiste Daroussin ;; 162498e903e7SBaptiste Daroussin *-knuth) 1625b53bb29fSJung-uk Kim os=mmixware 162698e903e7SBaptiste Daroussin ;; 162798e903e7SBaptiste Daroussin *-wec) 1628b53bb29fSJung-uk Kim os=proelf 162998e903e7SBaptiste Daroussin ;; 163098e903e7SBaptiste Daroussin *-winbond) 1631b53bb29fSJung-uk Kim os=proelf 163298e903e7SBaptiste Daroussin ;; 163398e903e7SBaptiste Daroussin *-oki) 1634b53bb29fSJung-uk Kim os=proelf 163598e903e7SBaptiste Daroussin ;; 163698e903e7SBaptiste Daroussin *-hp) 1637b53bb29fSJung-uk Kim os=hpux 163898e903e7SBaptiste Daroussin ;; 163998e903e7SBaptiste Daroussin *-hitachi) 1640b53bb29fSJung-uk Kim os=hiux 164198e903e7SBaptiste Daroussin ;; 164298e903e7SBaptiste Daroussin i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1643b53bb29fSJung-uk Kim os=sysv 164498e903e7SBaptiste Daroussin ;; 164598e903e7SBaptiste Daroussin *-cbm) 1646b53bb29fSJung-uk Kim os=amigaos 164798e903e7SBaptiste Daroussin ;; 164898e903e7SBaptiste Daroussin *-dg) 1649b53bb29fSJung-uk Kim os=dgux 165098e903e7SBaptiste Daroussin ;; 165198e903e7SBaptiste Daroussin *-dolphin) 1652b53bb29fSJung-uk Kim os=sysv3 165398e903e7SBaptiste Daroussin ;; 165498e903e7SBaptiste Daroussin m68k-ccur) 1655b53bb29fSJung-uk Kim os=rtu 165698e903e7SBaptiste Daroussin ;; 165798e903e7SBaptiste Daroussin m88k-omron*) 1658b53bb29fSJung-uk Kim os=luna 165998e903e7SBaptiste Daroussin ;; 166098e903e7SBaptiste Daroussin *-next) 1661b53bb29fSJung-uk Kim os=nextstep 166298e903e7SBaptiste Daroussin ;; 166398e903e7SBaptiste Daroussin *-sequent) 1664b53bb29fSJung-uk Kim os=ptx 166598e903e7SBaptiste Daroussin ;; 166698e903e7SBaptiste Daroussin *-crds) 1667b53bb29fSJung-uk Kim os=unos 166898e903e7SBaptiste Daroussin ;; 166998e903e7SBaptiste Daroussin *-ns) 1670b53bb29fSJung-uk Kim os=genix 167198e903e7SBaptiste Daroussin ;; 167298e903e7SBaptiste Daroussin i370-*) 1673b53bb29fSJung-uk Kim os=mvs 167498e903e7SBaptiste Daroussin ;; 167598e903e7SBaptiste Daroussin *-gould) 1676b53bb29fSJung-uk Kim os=sysv 167798e903e7SBaptiste Daroussin ;; 167898e903e7SBaptiste Daroussin *-highlevel) 1679b53bb29fSJung-uk Kim os=bsd 168098e903e7SBaptiste Daroussin ;; 168198e903e7SBaptiste Daroussin *-encore) 1682b53bb29fSJung-uk Kim os=bsd 168398e903e7SBaptiste Daroussin ;; 168498e903e7SBaptiste Daroussin *-sgi) 1685b53bb29fSJung-uk Kim os=irix 168698e903e7SBaptiste Daroussin ;; 168798e903e7SBaptiste Daroussin *-siemens) 1688b53bb29fSJung-uk Kim os=sysv4 168998e903e7SBaptiste Daroussin ;; 169098e903e7SBaptiste Daroussin *-masscomp) 1691b53bb29fSJung-uk Kim os=rtu 169298e903e7SBaptiste Daroussin ;; 169398e903e7SBaptiste Daroussin f30[01]-fujitsu | f700-fujitsu) 1694b53bb29fSJung-uk Kim os=uxpv 169598e903e7SBaptiste Daroussin ;; 169698e903e7SBaptiste Daroussin *-rom68k) 1697*822ca327SBaptiste Daroussin os= 1698*822ca327SBaptiste Daroussin obj=coff 169998e903e7SBaptiste Daroussin ;; 170098e903e7SBaptiste Daroussin *-*bug) 1701*822ca327SBaptiste Daroussin os= 1702*822ca327SBaptiste Daroussin obj=coff 170398e903e7SBaptiste Daroussin ;; 170498e903e7SBaptiste Daroussin *-apple) 1705b53bb29fSJung-uk Kim os=macos 170698e903e7SBaptiste Daroussin ;; 170798e903e7SBaptiste Daroussin *-atari*) 1708b53bb29fSJung-uk Kim os=mint 1709b53bb29fSJung-uk Kim ;; 1710b53bb29fSJung-uk Kim *-wrs) 1711b53bb29fSJung-uk Kim os=vxworks 171298e903e7SBaptiste Daroussin ;; 171398e903e7SBaptiste Daroussin *) 1714b53bb29fSJung-uk Kim os=none 171598e903e7SBaptiste Daroussin ;; 171698e903e7SBaptiste Daroussinesac 17178e022d3cSDag-Erling Smørgrav 171898e903e7SBaptiste Daroussinfi 171998e903e7SBaptiste Daroussin 1720*822ca327SBaptiste Daroussin# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). 1721*822ca327SBaptiste Daroussin 17228e022d3cSDag-Erling Smørgravcase $os in 17238e022d3cSDag-Erling Smørgrav # Sometimes we do "kernel-libc", so those need to count as OSes. 17248e022d3cSDag-Erling Smørgrav musl* | newlib* | relibc* | uclibc*) 17258e022d3cSDag-Erling Smørgrav ;; 17268e022d3cSDag-Erling Smørgrav # Likewise for "kernel-abi" 17278e022d3cSDag-Erling Smørgrav eabi* | gnueabi*) 17288e022d3cSDag-Erling Smørgrav ;; 17298e022d3cSDag-Erling Smørgrav # VxWorks passes extra cpu info in the 4th filed. 17308e022d3cSDag-Erling Smørgrav simlinux | simwindows | spe) 17318e022d3cSDag-Erling Smørgrav ;; 1732*822ca327SBaptiste Daroussin # See `case $cpu-$os` validation below 1733*822ca327SBaptiste Daroussin ghcjs) 1734*822ca327SBaptiste Daroussin ;; 17358e022d3cSDag-Erling Smørgrav # Now accept the basic system types. 17368e022d3cSDag-Erling Smørgrav # The portable systems comes first. 17378e022d3cSDag-Erling Smørgrav # Each alternative MUST end in a * to match a version number. 17388e022d3cSDag-Erling Smørgrav gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 17398e022d3cSDag-Erling Smørgrav | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 17408e022d3cSDag-Erling Smørgrav | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 17418e022d3cSDag-Erling Smørgrav | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 17428e022d3cSDag-Erling Smørgrav | hiux* | abug | nacl* | netware* | windows* \ 1743*822ca327SBaptiste Daroussin | os9* | macos* | osx* | ios* | tvos* | watchos* \ 17448e022d3cSDag-Erling Smørgrav | mpw* | magic* | mmixware* | mon960* | lnews* \ 17458e022d3cSDag-Erling Smørgrav | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 17468e022d3cSDag-Erling Smørgrav | aos* | aros* | cloudabi* | sortix* | twizzler* \ 17478e022d3cSDag-Erling Smørgrav | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 17488e022d3cSDag-Erling Smørgrav | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ 17498e022d3cSDag-Erling Smørgrav | mirbsd* | netbsd* | dicos* | openedition* | ose* \ 17508e022d3cSDag-Erling Smørgrav | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ 17518e022d3cSDag-Erling Smørgrav | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ 1752*822ca327SBaptiste Daroussin | bosx* | nextstep* | cxux* | oabi* \ 1753*822ca327SBaptiste Daroussin | ptx* | ecoff* | winnt* | domain* | vsta* \ 17548e022d3cSDag-Erling Smørgrav | udi* | lites* | ieee* | go32* | aux* | hcos* \ 17558e022d3cSDag-Erling Smørgrav | chorusrdb* | cegcc* | glidix* | serenity* \ 1756*822ca327SBaptiste Daroussin | cygwin* | msys* | moss* | proelf* | rtems* \ 17578e022d3cSDag-Erling Smørgrav | midipix* | mingw32* | mingw64* | mint* \ 17588e022d3cSDag-Erling Smørgrav | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 17598e022d3cSDag-Erling Smørgrav | interix* | uwin* | mks* | rhapsody* | darwin* \ 17608e022d3cSDag-Erling Smørgrav | openstep* | oskit* | conix* | pw32* | nonstopux* \ 17618e022d3cSDag-Erling Smørgrav | storm-chaos* | tops10* | tenex* | tops20* | its* \ 17628e022d3cSDag-Erling Smørgrav | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ 17638e022d3cSDag-Erling Smørgrav | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ 17648e022d3cSDag-Erling Smørgrav | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 17658e022d3cSDag-Erling Smørgrav | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 17668e022d3cSDag-Erling Smørgrav | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 17678e022d3cSDag-Erling Smørgrav | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ 17688e022d3cSDag-Erling Smørgrav | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ 1769*822ca327SBaptiste Daroussin | fiwix* | mlibc* | cos* | mbr* ) 17708e022d3cSDag-Erling Smørgrav ;; 17718e022d3cSDag-Erling Smørgrav # This one is extra strict with allowed versions 17728e022d3cSDag-Erling Smørgrav sco3.2v2 | sco3.2v[4-9]* | sco5v6*) 17738e022d3cSDag-Erling Smørgrav # Don't forget version if it is 3.2v4 or newer. 17748e022d3cSDag-Erling Smørgrav ;; 17758e022d3cSDag-Erling Smørgrav none) 17768e022d3cSDag-Erling Smørgrav ;; 1777*822ca327SBaptiste Daroussin kernel* | msvc* ) 1778*822ca327SBaptiste Daroussin # Restricted further below 1779*822ca327SBaptiste Daroussin ;; 1780*822ca327SBaptiste Daroussin '') 1781*822ca327SBaptiste Daroussin if test x"$obj" = x 1782*822ca327SBaptiste Daroussin then 1783*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 1784*822ca327SBaptiste Daroussin fi 1785*822ca327SBaptiste Daroussin ;; 17868e022d3cSDag-Erling Smørgrav *) 1787*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 1788*822ca327SBaptiste Daroussin exit 1 1789*822ca327SBaptiste Daroussin ;; 1790*822ca327SBaptiste Daroussinesac 1791*822ca327SBaptiste Daroussin 1792*822ca327SBaptiste Daroussincase $obj in 1793*822ca327SBaptiste Daroussin aout* | coff* | elf* | pe*) 1794*822ca327SBaptiste Daroussin ;; 1795*822ca327SBaptiste Daroussin '') 1796*822ca327SBaptiste Daroussin # empty is fine 1797*822ca327SBaptiste Daroussin ;; 1798*822ca327SBaptiste Daroussin *) 1799*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 1800*822ca327SBaptiste Daroussin exit 1 1801*822ca327SBaptiste Daroussin ;; 1802*822ca327SBaptiste Daroussinesac 1803*822ca327SBaptiste Daroussin 1804*822ca327SBaptiste Daroussin# Here we handle the constraint that a (synthetic) cpu and os are 1805*822ca327SBaptiste Daroussin# valid only in combination with each other and nowhere else. 1806*822ca327SBaptiste Daroussincase $cpu-$os in 1807*822ca327SBaptiste Daroussin # The "javascript-unknown-ghcjs" triple is used by GHC; we 1808*822ca327SBaptiste Daroussin # accept it here in order to tolerate that, but reject any 1809*822ca327SBaptiste Daroussin # variations. 1810*822ca327SBaptiste Daroussin javascript-ghcjs) 1811*822ca327SBaptiste Daroussin ;; 1812*822ca327SBaptiste Daroussin javascript-* | *-ghcjs) 1813*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 18148e022d3cSDag-Erling Smørgrav exit 1 18158e022d3cSDag-Erling Smørgrav ;; 18168e022d3cSDag-Erling Smørgravesac 18178e022d3cSDag-Erling Smørgrav 18188e022d3cSDag-Erling Smørgrav# As a final step for OS-related things, validate the OS-kernel combination 18198e022d3cSDag-Erling Smørgrav# (given a valid OS), if there is a kernel. 1820*822ca327SBaptiste Daroussincase $kernel-$os-$obj in 1821*822ca327SBaptiste Daroussin linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ 1822*822ca327SBaptiste Daroussin | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) 18238e022d3cSDag-Erling Smørgrav ;; 1824*822ca327SBaptiste Daroussin uclinux-uclibc*- ) 18258e022d3cSDag-Erling Smørgrav ;; 1826*822ca327SBaptiste Daroussin managarm-mlibc*- | managarm-kernel*- ) 1827*822ca327SBaptiste Daroussin ;; 1828*822ca327SBaptiste Daroussin windows*-gnu*- | windows*-msvc*-) 1829*822ca327SBaptiste Daroussin ;; 1830*822ca327SBaptiste Daroussin -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) 18318e022d3cSDag-Erling Smørgrav # These are just libc implementations, not actual OSes, and thus 18328e022d3cSDag-Erling Smørgrav # require a kernel. 1833*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 18348e022d3cSDag-Erling Smørgrav exit 1 18358e022d3cSDag-Erling Smørgrav ;; 1836*822ca327SBaptiste Daroussin -kernel*- ) 1837*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 1838*822ca327SBaptiste Daroussin exit 1 18398e022d3cSDag-Erling Smørgrav ;; 1840*822ca327SBaptiste Daroussin *-kernel*- ) 1841*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 1842*822ca327SBaptiste Daroussin exit 1 18438e022d3cSDag-Erling Smørgrav ;; 1844*822ca327SBaptiste Daroussin *-msvc*- ) 1845*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 1846*822ca327SBaptiste Daroussin exit 1 18478e022d3cSDag-Erling Smørgrav ;; 1848*822ca327SBaptiste Daroussin kfreebsd*-gnu*- | kopensolaris*-gnu*-) 18498e022d3cSDag-Erling Smørgrav ;; 1850*822ca327SBaptiste Daroussin vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) 18518e022d3cSDag-Erling Smørgrav ;; 1852*822ca327SBaptiste Daroussin nto-qnx*-) 1853*822ca327SBaptiste Daroussin ;; 1854*822ca327SBaptiste Daroussin os2-emx-) 1855*822ca327SBaptiste Daroussin ;; 1856*822ca327SBaptiste Daroussin *-eabi*- | *-gnueabi*-) 1857*822ca327SBaptiste Daroussin ;; 1858*822ca327SBaptiste Daroussin none--*) 1859*822ca327SBaptiste Daroussin # None (no kernel, i.e. freestanding / bare metal), 1860*822ca327SBaptiste Daroussin # can be paired with an machine code file format 1861*822ca327SBaptiste Daroussin ;; 1862*822ca327SBaptiste Daroussin -*-) 18638e022d3cSDag-Erling Smørgrav # Blank kernel with real OS is always fine. 18648e022d3cSDag-Erling Smørgrav ;; 1865*822ca327SBaptiste Daroussin --*) 1866*822ca327SBaptiste Daroussin # Blank kernel and OS with real machine code file format is always fine. 1867*822ca327SBaptiste Daroussin ;; 1868*822ca327SBaptiste Daroussin *-*-*) 1869*822ca327SBaptiste Daroussin echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 18708e022d3cSDag-Erling Smørgrav exit 1 18718e022d3cSDag-Erling Smørgrav ;; 18728e022d3cSDag-Erling Smørgravesac 18738e022d3cSDag-Erling Smørgrav 187498e903e7SBaptiste Daroussin# Here we handle the case where we know the os, and the CPU type, but not the 187598e903e7SBaptiste Daroussin# manufacturer. We pick the logical manufacturer. 1876b53bb29fSJung-uk Kimcase $vendor in 1877b53bb29fSJung-uk Kim unknown) 18788e022d3cSDag-Erling Smørgrav case $cpu-$os in 18798e022d3cSDag-Erling Smørgrav *-riscix*) 188098e903e7SBaptiste Daroussin vendor=acorn 188198e903e7SBaptiste Daroussin ;; 18828e022d3cSDag-Erling Smørgrav *-sunos*) 188398e903e7SBaptiste Daroussin vendor=sun 188498e903e7SBaptiste Daroussin ;; 18858e022d3cSDag-Erling Smørgrav *-cnk* | *-aix*) 188698e903e7SBaptiste Daroussin vendor=ibm 188798e903e7SBaptiste Daroussin ;; 18888e022d3cSDag-Erling Smørgrav *-beos*) 188998e903e7SBaptiste Daroussin vendor=be 189098e903e7SBaptiste Daroussin ;; 18918e022d3cSDag-Erling Smørgrav *-hpux*) 189298e903e7SBaptiste Daroussin vendor=hp 189398e903e7SBaptiste Daroussin ;; 18948e022d3cSDag-Erling Smørgrav *-mpeix*) 189598e903e7SBaptiste Daroussin vendor=hp 189698e903e7SBaptiste Daroussin ;; 18978e022d3cSDag-Erling Smørgrav *-hiux*) 189898e903e7SBaptiste Daroussin vendor=hitachi 189998e903e7SBaptiste Daroussin ;; 19008e022d3cSDag-Erling Smørgrav *-unos*) 190198e903e7SBaptiste Daroussin vendor=crds 190298e903e7SBaptiste Daroussin ;; 19038e022d3cSDag-Erling Smørgrav *-dgux*) 190498e903e7SBaptiste Daroussin vendor=dg 190598e903e7SBaptiste Daroussin ;; 19068e022d3cSDag-Erling Smørgrav *-luna*) 190798e903e7SBaptiste Daroussin vendor=omron 190898e903e7SBaptiste Daroussin ;; 19098e022d3cSDag-Erling Smørgrav *-genix*) 191098e903e7SBaptiste Daroussin vendor=ns 191198e903e7SBaptiste Daroussin ;; 19128e022d3cSDag-Erling Smørgrav *-clix*) 1913b53bb29fSJung-uk Kim vendor=intergraph 1914b53bb29fSJung-uk Kim ;; 19158e022d3cSDag-Erling Smørgrav *-mvs* | *-opened*) 191698e903e7SBaptiste Daroussin vendor=ibm 191798e903e7SBaptiste Daroussin ;; 19188e022d3cSDag-Erling Smørgrav *-os400*) 191998e903e7SBaptiste Daroussin vendor=ibm 192098e903e7SBaptiste Daroussin ;; 19218e022d3cSDag-Erling Smørgrav s390-* | s390x-*) 19228e022d3cSDag-Erling Smørgrav vendor=ibm 19238e022d3cSDag-Erling Smørgrav ;; 19248e022d3cSDag-Erling Smørgrav *-ptx*) 192598e903e7SBaptiste Daroussin vendor=sequent 192698e903e7SBaptiste Daroussin ;; 19278e022d3cSDag-Erling Smørgrav *-tpf*) 192898e903e7SBaptiste Daroussin vendor=ibm 192998e903e7SBaptiste Daroussin ;; 19308e022d3cSDag-Erling Smørgrav *-vxsim* | *-vxworks* | *-windiss*) 193198e903e7SBaptiste Daroussin vendor=wrs 193298e903e7SBaptiste Daroussin ;; 19338e022d3cSDag-Erling Smørgrav *-aux*) 193498e903e7SBaptiste Daroussin vendor=apple 193598e903e7SBaptiste Daroussin ;; 19368e022d3cSDag-Erling Smørgrav *-hms*) 193798e903e7SBaptiste Daroussin vendor=hitachi 193898e903e7SBaptiste Daroussin ;; 19398e022d3cSDag-Erling Smørgrav *-mpw* | *-macos*) 194098e903e7SBaptiste Daroussin vendor=apple 194198e903e7SBaptiste Daroussin ;; 19428e022d3cSDag-Erling Smørgrav *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) 194398e903e7SBaptiste Daroussin vendor=atari 194498e903e7SBaptiste Daroussin ;; 19458e022d3cSDag-Erling Smørgrav *-vos*) 194698e903e7SBaptiste Daroussin vendor=stratus 194798e903e7SBaptiste Daroussin ;; 194898e903e7SBaptiste Daroussin esac 194998e903e7SBaptiste Daroussin ;; 195098e903e7SBaptiste Daroussinesac 195198e903e7SBaptiste Daroussin 1952*822ca327SBaptiste Daroussinecho "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" 195398e903e7SBaptiste Daroussinexit 195498e903e7SBaptiste Daroussin 195598e903e7SBaptiste Daroussin# Local variables: 1956b53bb29fSJung-uk Kim# eval: (add-hook 'before-save-hook 'time-stamp) 195798e903e7SBaptiste Daroussin# time-stamp-start: "timestamp='" 195898e903e7SBaptiste Daroussin# time-stamp-format: "%:y-%02m-%02d" 195998e903e7SBaptiste Daroussin# time-stamp-end: "'" 196098e903e7SBaptiste Daroussin# End: 1961