1fd0c672fSmrg#! /bin/sh 2fd0c672fSmrg# Attempt to guess a canonical system name. 383f4f7f0Smrg# Copyright 1992-2023 Free Software Foundation, Inc. 4fd0c672fSmrg 543ecf206Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 643ecf206Smrg 783f4f7f0Smrgtimestamp='2023-01-01' 8fd0c672fSmrg 9fd0c672fSmrg# This file is free software; you can redistribute it and/or modify it 10fd0c672fSmrg# under the terms of the GNU General Public License as published by 1183f4f7f0Smrg# the Free Software Foundation, either version 3 of the License, or 12fd0c672fSmrg# (at your option) any later version. 13fd0c672fSmrg# 14fd0c672fSmrg# This program is distributed in the hope that it will be useful, but 15fd0c672fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16fd0c672fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17fd0c672fSmrg# General Public License for more details. 18fd0c672fSmrg# 19fd0c672fSmrg# You should have received a copy of the GNU General Public License 208846b520Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21fd0c672fSmrg# 22fd0c672fSmrg# As a special exception to the GNU General Public License, if you 23fd0c672fSmrg# distribute this file as part of a program that contains a 24fd0c672fSmrg# configuration script generated by Autoconf, you may include it under 25953c684bSmrg# the same distribution terms that you use for the rest of that 26953c684bSmrg# program. This Exception is an additional permission under section 7 27953c684bSmrg# of the GNU General Public License, version 3 ("GPLv3"). 28fd0c672fSmrg# 298846b520Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30fd0c672fSmrg# 3148e69166Smrg# You can get the latest version of this script from: 3243ecf206Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33953c684bSmrg# 348846b520Smrg# Please send patches to <config-patches@gnu.org>. 35953c684bSmrg 36fd0c672fSmrg 3743ecf206Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 3843ecf206Smrg# about features and limitations of the classic Bourne shell that were 3943ecf206Smrg# superseded or lifted in POSIX. However, this script identifies a wide 4043ecf206Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 4143ecf206Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 4243ecf206Smrg# have a pre-POSIX /bin/sh. 4343ecf206Smrg 4443ecf206Smrg 45fd0c672fSmrgme=`echo "$0" | sed -e 's,.*/,,'` 46fd0c672fSmrg 47fd0c672fSmrgusage="\ 48fd0c672fSmrgUsage: $0 [OPTION] 49fd0c672fSmrg 50fd0c672fSmrgOutput the configuration name of the system \`$me' is run on. 51fd0c672fSmrg 528846b520SmrgOptions: 53fd0c672fSmrg -h, --help print this help, then exit 54fd0c672fSmrg -t, --time-stamp print date of last modification, then exit 55fd0c672fSmrg -v, --version print version number, then exit 56fd0c672fSmrg 57fd0c672fSmrgReport bugs and patches to <config-patches@gnu.org>." 58fd0c672fSmrg 59fd0c672fSmrgversion="\ 60fd0c672fSmrgGNU config.guess ($timestamp) 61fd0c672fSmrg 62fd0c672fSmrgOriginally written by Per Bothner. 6383f4f7f0SmrgCopyright 1992-2023 Free Software Foundation, Inc. 64fd0c672fSmrg 65fd0c672fSmrgThis is free software; see the source for copying conditions. There is NO 66fd0c672fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67fd0c672fSmrg 68fd0c672fSmrghelp=" 69fd0c672fSmrgTry \`$me --help' for more information." 70fd0c672fSmrg 71fd0c672fSmrg# Parse command line 72fd0c672fSmrgwhile test $# -gt 0 ; do 73fd0c672fSmrg case $1 in 74fd0c672fSmrg --time-stamp | --time* | -t ) 7548e69166Smrg echo "$timestamp" ; exit ;; 76fd0c672fSmrg --version | -v ) 7748e69166Smrg echo "$version" ; exit ;; 78fd0c672fSmrg --help | --h* | -h ) 7948e69166Smrg echo "$usage"; exit ;; 80fd0c672fSmrg -- ) # Stop option processing 81fd0c672fSmrg shift; break ;; 82fd0c672fSmrg - ) # Use stdin as input. 83fd0c672fSmrg break ;; 84fd0c672fSmrg -* ) 85fd0c672fSmrg echo "$me: invalid option $1$help" >&2 86fd0c672fSmrg exit 1 ;; 87fd0c672fSmrg * ) 88fd0c672fSmrg break ;; 89fd0c672fSmrg esac 90fd0c672fSmrgdone 91fd0c672fSmrg 92fd0c672fSmrgif test $# != 0; then 93fd0c672fSmrg echo "$me: too many arguments$help" >&2 94fd0c672fSmrg exit 1 95fd0c672fSmrgfi 96fd0c672fSmrg 9743ecf206Smrg# Just in case it came from the environment. 9843ecf206SmrgGUESS= 99fd0c672fSmrg 100fd0c672fSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101fd0c672fSmrg# compiler to aid in system detection is discouraged as it requires 102fd0c672fSmrg# temporary files to be created and, as you can see below, it is a 103fd0c672fSmrg# headache to deal with in a portable fashion. 104fd0c672fSmrg 105fd0c672fSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 106fd0c672fSmrg# use `HOST_CC' if defined, but it is deprecated. 107fd0c672fSmrg 108fd0c672fSmrg# Portable tmp directory creation inspired by the Autoconf team. 109fd0c672fSmrg 11043ecf206Smrgtmp= 11143ecf206Smrg# shellcheck disable=SC2172 11243ecf206Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11343ecf206Smrg 11443ecf206Smrgset_cc_for_build() { 11543ecf206Smrg # prevent multiple calls if $tmp is already set 11643ecf206Smrg test "$tmp" && return 0 11743ecf206Smrg : "${TMPDIR=/tmp}" 11843ecf206Smrg # shellcheck disable=SC2039,SC3028 11943ecf206Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12043ecf206Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12143ecf206Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12243ecf206Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12343ecf206Smrg dummy=$tmp/dummy 12443ecf206Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12543ecf206Smrg ,,) echo "int x;" > "$dummy.c" 12643ecf206Smrg for driver in cc gcc c89 c99 ; do 12743ecf206Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 12843ecf206Smrg CC_FOR_BUILD=$driver 12943ecf206Smrg break 13043ecf206Smrg fi 13143ecf206Smrg done 13243ecf206Smrg if test x"$CC_FOR_BUILD" = x ; then 13343ecf206Smrg CC_FOR_BUILD=no_compiler_found 13443ecf206Smrg fi 13543ecf206Smrg ;; 13643ecf206Smrg ,,*) CC_FOR_BUILD=$CC ;; 13743ecf206Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13843ecf206Smrg esac 13943ecf206Smrg} 140fd0c672fSmrg 141fd0c672fSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142fd0c672fSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 14343ecf206Smrgif test -f /.attbin/uname ; then 144fd0c672fSmrg PATH=$PATH:/.attbin ; export PATH 145fd0c672fSmrgfi 146fd0c672fSmrg 147fd0c672fSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148fd0c672fSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 14943ecf206SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150fd0c672fSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151fd0c672fSmrg 15243ecf206Smrgcase $UNAME_SYSTEM in 153953c684bSmrgLinux|GNU|GNU/*) 15443ecf206Smrg LIBC=unknown 155953c684bSmrg 15643ecf206Smrg set_cc_for_build 1578846b520Smrg cat <<-EOF > "$dummy.c" 158953c684bSmrg #include <features.h> 159953c684bSmrg #if defined(__UCLIBC__) 160953c684bSmrg LIBC=uclibc 161953c684bSmrg #elif defined(__dietlibc__) 162953c684bSmrg LIBC=dietlibc 16343ecf206Smrg #elif defined(__GLIBC__) 164953c684bSmrg LIBC=gnu 16543ecf206Smrg #else 16643ecf206Smrg #include <stdarg.h> 16743ecf206Smrg /* First heuristic to detect musl libc. */ 16843ecf206Smrg #ifdef __DEFINED_va_list 16943ecf206Smrg LIBC=musl 17043ecf206Smrg #endif 171953c684bSmrg #endif 172953c684bSmrg EOF 17343ecf206Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 17443ecf206Smrg eval "$cc_set_libc" 1758846b520Smrg 17643ecf206Smrg # Second heuristic to detect musl libc. 17743ecf206Smrg if [ "$LIBC" = unknown ] && 17843ecf206Smrg command -v ldd >/dev/null && 17943ecf206Smrg ldd --version 2>&1 | grep -q ^musl; then 18043ecf206Smrg LIBC=musl 18143ecf206Smrg fi 18243ecf206Smrg 18343ecf206Smrg # If the system lacks a compiler, then just pick glibc. 18443ecf206Smrg # We could probably try harder. 18543ecf206Smrg if [ "$LIBC" = unknown ]; then 18643ecf206Smrg LIBC=gnu 1878846b520Smrg fi 188953c684bSmrg ;; 189953c684bSmrgesac 190953c684bSmrg 191fd0c672fSmrg# Note: order is significant - the case branches are not exclusive. 192fd0c672fSmrg 19343ecf206Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 194fd0c672fSmrg *:NetBSD:*:*) 195fd0c672fSmrg # NetBSD (nbsd) targets should (where applicable) match one or 196953c684bSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 197fd0c672fSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 198fd0c672fSmrg # switched to ELF, *-*-netbsd* would select the old 199fd0c672fSmrg # object file format. This provides both forward 200fd0c672fSmrg # compatibility and a consistent mechanism for selecting the 201fd0c672fSmrg # object file format. 202fd0c672fSmrg # 203fd0c672fSmrg # Note: NetBSD doesn't particularly care about the vendor 204fd0c672fSmrg # portion of the name. We always set it to "unknown". 2058846b520Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 20643ecf206Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20743ecf206Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2088846b520Smrg echo unknown)` 20943ecf206Smrg case $UNAME_MACHINE_ARCH in 21043ecf206Smrg aarch64eb) machine=aarch64_be-unknown ;; 211fd0c672fSmrg armeb) machine=armeb-unknown ;; 212fd0c672fSmrg arm*) machine=arm-unknown ;; 213fd0c672fSmrg sh3el) machine=shl-unknown ;; 214fd0c672fSmrg sh3eb) machine=sh-unknown ;; 215fd0c672fSmrg sh5el) machine=sh5le-unknown ;; 2168846b520Smrg earmv*) 2178846b520Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 2188846b520Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 21943ecf206Smrg machine=${arch}${endian}-unknown 2208846b520Smrg ;; 22143ecf206Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 222fd0c672fSmrg esac 223fd0c672fSmrg # The Operating System including object format, if it has switched 2248846b520Smrg # to ELF recently (or will in the future) and ABI. 22543ecf206Smrg case $UNAME_MACHINE_ARCH in 2268846b520Smrg earm*) 2278846b520Smrg os=netbsdelf 2288846b520Smrg ;; 229fd0c672fSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23043ecf206Smrg set_cc_for_build 231fd0c672fSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 23248e69166Smrg | grep -q __ELF__ 233fd0c672fSmrg then 234fd0c672fSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 235fd0c672fSmrg # Return netbsd for either. FIX? 236fd0c672fSmrg os=netbsd 237fd0c672fSmrg else 238fd0c672fSmrg os=netbsdelf 239fd0c672fSmrg fi 240fd0c672fSmrg ;; 241fd0c672fSmrg *) 242953c684bSmrg os=netbsd 243fd0c672fSmrg ;; 244fd0c672fSmrg esac 2458846b520Smrg # Determine ABI tags. 24643ecf206Smrg case $UNAME_MACHINE_ARCH in 2478846b520Smrg earm*) 2488846b520Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2498846b520Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2508846b520Smrg ;; 2518846b520Smrg esac 252fd0c672fSmrg # The OS release 253fd0c672fSmrg # Debian GNU/NetBSD machines have a different userland, and 254fd0c672fSmrg # thus, need a distinct triplet. However, they do not need 255fd0c672fSmrg # kernel version information, so it can be replaced with a 256fd0c672fSmrg # suitable tag, in the style of linux-gnu. 25743ecf206Smrg case $UNAME_VERSION in 258fd0c672fSmrg Debian*) 259fd0c672fSmrg release='-gnu' 260fd0c672fSmrg ;; 261fd0c672fSmrg *) 2628846b520Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 263fd0c672fSmrg ;; 264fd0c672fSmrg esac 265fd0c672fSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 266fd0c672fSmrg # contains redundant information, the shorter form: 267fd0c672fSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 26843ecf206Smrg GUESS=$machine-${os}${release}${abi-} 26943ecf206Smrg ;; 270953c684bSmrg *:Bitrig:*:*) 271953c684bSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 27243ecf206Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 27343ecf206Smrg ;; 274fd0c672fSmrg *:OpenBSD:*:*) 27548e69166Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 27643ecf206Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 27743ecf206Smrg ;; 27843ecf206Smrg *:SecBSD:*:*) 27943ecf206Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 28043ecf206Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 28143ecf206Smrg ;; 2828846b520Smrg *:LibertyBSD:*:*) 2838846b520Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 28443ecf206Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 28543ecf206Smrg ;; 2868846b520Smrg *:MidnightBSD:*:*) 28743ecf206Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 28843ecf206Smrg ;; 289fd0c672fSmrg *:ekkoBSD:*:*) 29043ecf206Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 29143ecf206Smrg ;; 29248e69166Smrg *:SolidBSD:*:*) 29343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 29443ecf206Smrg ;; 29543ecf206Smrg *:OS108:*:*) 29643ecf206Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 29743ecf206Smrg ;; 298fd0c672fSmrg macppc:MirBSD:*:*) 29943ecf206Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 30043ecf206Smrg ;; 301fd0c672fSmrg *:MirBSD:*:*) 30243ecf206Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 30343ecf206Smrg ;; 3048846b520Smrg *:Sortix:*:*) 30543ecf206Smrg GUESS=$UNAME_MACHINE-unknown-sortix 30643ecf206Smrg ;; 30743ecf206Smrg *:Twizzler:*:*) 30843ecf206Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 30943ecf206Smrg ;; 3108846b520Smrg *:Redox:*:*) 31143ecf206Smrg GUESS=$UNAME_MACHINE-unknown-redox 31243ecf206Smrg ;; 3138846b520Smrg mips:OSF1:*.*) 31443ecf206Smrg GUESS=mips-dec-osf1 31543ecf206Smrg ;; 316fd0c672fSmrg alpha:OSF1:*:*) 31743ecf206Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 31843ecf206Smrg trap '' 0 319fd0c672fSmrg case $UNAME_RELEASE in 320fd0c672fSmrg *4.0) 321fd0c672fSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 322fd0c672fSmrg ;; 323fd0c672fSmrg *5.*) 324953c684bSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 325fd0c672fSmrg ;; 326fd0c672fSmrg esac 327fd0c672fSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 328fd0c672fSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 329fd0c672fSmrg # covers most systems running today. This code pipes the CPU 330fd0c672fSmrg # types through head -n 1, so we only detect the type of CPU 0. 331fd0c672fSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 33243ecf206Smrg case $ALPHA_CPU_TYPE in 333fd0c672fSmrg "EV4 (21064)") 3348846b520Smrg UNAME_MACHINE=alpha ;; 335fd0c672fSmrg "EV4.5 (21064)") 3368846b520Smrg UNAME_MACHINE=alpha ;; 337fd0c672fSmrg "LCA4 (21066/21068)") 3388846b520Smrg UNAME_MACHINE=alpha ;; 339fd0c672fSmrg "EV5 (21164)") 3408846b520Smrg UNAME_MACHINE=alphaev5 ;; 341fd0c672fSmrg "EV5.6 (21164A)") 3428846b520Smrg UNAME_MACHINE=alphaev56 ;; 343fd0c672fSmrg "EV5.6 (21164PC)") 3448846b520Smrg UNAME_MACHINE=alphapca56 ;; 345fd0c672fSmrg "EV5.7 (21164PC)") 3468846b520Smrg UNAME_MACHINE=alphapca57 ;; 347fd0c672fSmrg "EV6 (21264)") 3488846b520Smrg UNAME_MACHINE=alphaev6 ;; 349fd0c672fSmrg "EV6.7 (21264A)") 3508846b520Smrg UNAME_MACHINE=alphaev67 ;; 351fd0c672fSmrg "EV6.8CB (21264C)") 3528846b520Smrg UNAME_MACHINE=alphaev68 ;; 353fd0c672fSmrg "EV6.8AL (21264B)") 3548846b520Smrg UNAME_MACHINE=alphaev68 ;; 355fd0c672fSmrg "EV6.8CX (21264D)") 3568846b520Smrg UNAME_MACHINE=alphaev68 ;; 357fd0c672fSmrg "EV6.9A (21264/EV69A)") 3588846b520Smrg UNAME_MACHINE=alphaev69 ;; 359fd0c672fSmrg "EV7 (21364)") 3608846b520Smrg UNAME_MACHINE=alphaev7 ;; 361fd0c672fSmrg "EV7.9 (21364A)") 3628846b520Smrg UNAME_MACHINE=alphaev79 ;; 363fd0c672fSmrg esac 364fd0c672fSmrg # A Pn.n version is a patched version. 365fd0c672fSmrg # A Vn.n version is a released version. 366fd0c672fSmrg # A Tn.n version is a released field test version. 367fd0c672fSmrg # A Xn.n version is an unreleased experimental baselevel. 368fd0c672fSmrg # 1.2 uses "1.2" for uname -r. 36943ecf206Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 37043ecf206Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 37143ecf206Smrg ;; 372fd0c672fSmrg Amiga*:UNIX_System_V:4.0:*) 37343ecf206Smrg GUESS=m68k-unknown-sysv4 37443ecf206Smrg ;; 375fd0c672fSmrg *:[Aa]miga[Oo][Ss]:*:*) 37643ecf206Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 37743ecf206Smrg ;; 378fd0c672fSmrg *:[Mm]orph[Oo][Ss]:*:*) 37943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-morphos 38043ecf206Smrg ;; 381fd0c672fSmrg *:OS/390:*:*) 38243ecf206Smrg GUESS=i370-ibm-openedition 38343ecf206Smrg ;; 38448e69166Smrg *:z/VM:*:*) 38543ecf206Smrg GUESS=s390-ibm-zvmoe 38643ecf206Smrg ;; 387fd0c672fSmrg *:OS400:*:*) 38843ecf206Smrg GUESS=powerpc-ibm-os400 38943ecf206Smrg ;; 390fd0c672fSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 39143ecf206Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 39243ecf206Smrg ;; 393953c684bSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 39443ecf206Smrg GUESS=arm-unknown-riscos 39543ecf206Smrg ;; 396fd0c672fSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 39743ecf206Smrg GUESS=hppa1.1-hitachi-hiuxmpp 39843ecf206Smrg ;; 399fd0c672fSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 400fd0c672fSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 40143ecf206Smrg case `(/bin/universe) 2>/dev/null` in 40243ecf206Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 40343ecf206Smrg *) GUESS=pyramid-pyramid-bsd ;; 40443ecf206Smrg esac 40543ecf206Smrg ;; 406fd0c672fSmrg NILE*:*:*:dcosx) 40743ecf206Smrg GUESS=pyramid-pyramid-svr4 40843ecf206Smrg ;; 409fd0c672fSmrg DRS?6000:unix:4.0:6*) 41043ecf206Smrg GUESS=sparc-icl-nx6 41143ecf206Smrg ;; 41248e69166Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 413fd0c672fSmrg case `/usr/bin/uname -p` in 41443ecf206Smrg sparc) GUESS=sparc-icl-nx7 ;; 41543ecf206Smrg esac 41643ecf206Smrg ;; 41748e69166Smrg s390x:SunOS:*:*) 41843ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 41943ecf206Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 42043ecf206Smrg ;; 421fd0c672fSmrg sun4H:SunOS:5.*:*) 42243ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42343ecf206Smrg GUESS=sparc-hal-solaris2$SUN_REL 42443ecf206Smrg ;; 425fd0c672fSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 42643ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42743ecf206Smrg GUESS=sparc-sun-solaris2$SUN_REL 42843ecf206Smrg ;; 42948e69166Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 43043ecf206Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 43143ecf206Smrg ;; 43248e69166Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43343ecf206Smrg set_cc_for_build 4348846b520Smrg SUN_ARCH=i386 43548e69166Smrg # If there is a compiler, see if it is configured for 64-bit objects. 43648e69166Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 43748e69166Smrg # This test works for both compilers. 43843ecf206Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 43948e69166Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 44083f4f7f0Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 44148e69166Smrg grep IS_64BIT_ARCH >/dev/null 44248e69166Smrg then 4438846b520Smrg SUN_ARCH=x86_64 44448e69166Smrg fi 44548e69166Smrg fi 44643ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 44743ecf206Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 44843ecf206Smrg ;; 449fd0c672fSmrg sun4*:SunOS:6*:*) 450fd0c672fSmrg # According to config.sub, this is the proper way to canonicalize 451fd0c672fSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 452fd0c672fSmrg # it's likely to be more like Solaris than SunOS4. 45343ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 45443ecf206Smrg GUESS=sparc-sun-solaris3$SUN_REL 45543ecf206Smrg ;; 456fd0c672fSmrg sun4*:SunOS:*:*) 45743ecf206Smrg case `/usr/bin/arch -k` in 458fd0c672fSmrg Series*|S4*) 459fd0c672fSmrg UNAME_RELEASE=`uname -v` 460fd0c672fSmrg ;; 461fd0c672fSmrg esac 462fd0c672fSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 46343ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 46443ecf206Smrg GUESS=sparc-sun-sunos$SUN_REL 46543ecf206Smrg ;; 466fd0c672fSmrg sun3*:SunOS:*:*) 46743ecf206Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 46843ecf206Smrg ;; 469fd0c672fSmrg sun*:*:4.2BSD:*) 470fd0c672fSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 4718846b520Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 47243ecf206Smrg case `/bin/arch` in 473fd0c672fSmrg sun3) 47443ecf206Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 475fd0c672fSmrg ;; 476fd0c672fSmrg sun4) 47743ecf206Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 478fd0c672fSmrg ;; 479fd0c672fSmrg esac 48043ecf206Smrg ;; 481fd0c672fSmrg aushp:SunOS:*:*) 48243ecf206Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 48343ecf206Smrg ;; 484fd0c672fSmrg # The situation for MiNT is a little confusing. The machine name 485fd0c672fSmrg # can be virtually everything (everything which is not 486fd0c672fSmrg # "atarist" or "atariste" at least should have a processor 487fd0c672fSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 488fd0c672fSmrg # to the lowercase version "mint" (or "freemint"). Finally 489fd0c672fSmrg # the system name "TOS" denotes a system which is actually not 490fd0c672fSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 491fd0c672fSmrg # be no problem. 492fd0c672fSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 49343ecf206Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 49443ecf206Smrg ;; 495fd0c672fSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 49643ecf206Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 49743ecf206Smrg ;; 498fd0c672fSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 49943ecf206Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 50043ecf206Smrg ;; 501fd0c672fSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 50243ecf206Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 50343ecf206Smrg ;; 504fd0c672fSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 50543ecf206Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 50643ecf206Smrg ;; 507fd0c672fSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 50843ecf206Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 50943ecf206Smrg ;; 510fd0c672fSmrg m68k:machten:*:*) 51143ecf206Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 51243ecf206Smrg ;; 513fd0c672fSmrg powerpc:machten:*:*) 51443ecf206Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 51543ecf206Smrg ;; 516fd0c672fSmrg RISC*:Mach:*:*) 51743ecf206Smrg GUESS=mips-dec-mach_bsd4.3 51843ecf206Smrg ;; 519fd0c672fSmrg RISC*:ULTRIX:*:*) 52043ecf206Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 52143ecf206Smrg ;; 522fd0c672fSmrg VAX*:ULTRIX*:*:*) 52343ecf206Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 52443ecf206Smrg ;; 525fd0c672fSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 52643ecf206Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 52743ecf206Smrg ;; 528fd0c672fSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 52943ecf206Smrg set_cc_for_build 5308846b520Smrg sed 's/^ //' << EOF > "$dummy.c" 531fd0c672fSmrg#ifdef __cplusplus 532fd0c672fSmrg#include <stdio.h> /* for printf() prototype */ 533fd0c672fSmrg int main (int argc, char *argv[]) { 534fd0c672fSmrg#else 535fd0c672fSmrg int main (argc, argv) int argc; char *argv[]; { 536fd0c672fSmrg#endif 537fd0c672fSmrg #if defined (host_mips) && defined (MIPSEB) 538fd0c672fSmrg #if defined (SYSTYPE_SYSV) 5398846b520Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 540fd0c672fSmrg #endif 541fd0c672fSmrg #if defined (SYSTYPE_SVR4) 5428846b520Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 543fd0c672fSmrg #endif 544fd0c672fSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 5458846b520Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 546fd0c672fSmrg #endif 547fd0c672fSmrg #endif 548fd0c672fSmrg exit (-1); 549fd0c672fSmrg } 550fd0c672fSmrgEOF 5518846b520Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 5528846b520Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 5538846b520Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 55448e69166Smrg { echo "$SYSTEM_NAME"; exit; } 55543ecf206Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 55643ecf206Smrg ;; 557fd0c672fSmrg Motorola:PowerMAX_OS:*:*) 55843ecf206Smrg GUESS=powerpc-motorola-powermax 55943ecf206Smrg ;; 560fd0c672fSmrg Motorola:*:4.3:PL8-*) 56143ecf206Smrg GUESS=powerpc-harris-powermax 56243ecf206Smrg ;; 563fd0c672fSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 56443ecf206Smrg GUESS=powerpc-harris-powermax 56543ecf206Smrg ;; 566fd0c672fSmrg Night_Hawk:Power_UNIX:*:*) 56743ecf206Smrg GUESS=powerpc-harris-powerunix 56843ecf206Smrg ;; 569fd0c672fSmrg m88k:CX/UX:7*:*) 57043ecf206Smrg GUESS=m88k-harris-cxux7 57143ecf206Smrg ;; 572fd0c672fSmrg m88k:*:4*:R4*) 57343ecf206Smrg GUESS=m88k-motorola-sysv4 57443ecf206Smrg ;; 575fd0c672fSmrg m88k:*:3*:R3*) 57643ecf206Smrg GUESS=m88k-motorola-sysv3 57743ecf206Smrg ;; 578fd0c672fSmrg AViiON:dgux:*:*) 579953c684bSmrg # DG/UX returns AViiON for all architectures 580953c684bSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 58143ecf206Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 582fd0c672fSmrg then 58343ecf206Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 58443ecf206Smrg test "$TARGET_BINARY_INTERFACE"x = x 585fd0c672fSmrg then 58643ecf206Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 587fd0c672fSmrg else 58843ecf206Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 589fd0c672fSmrg fi 590fd0c672fSmrg else 59143ecf206Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 592fd0c672fSmrg fi 59343ecf206Smrg ;; 594fd0c672fSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 59543ecf206Smrg GUESS=m88k-dolphin-sysv3 59643ecf206Smrg ;; 597fd0c672fSmrg M88*:*:R3*:*) 598fd0c672fSmrg # Delta 88k system running SVR3 59943ecf206Smrg GUESS=m88k-motorola-sysv3 60043ecf206Smrg ;; 601fd0c672fSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 60243ecf206Smrg GUESS=m88k-tektronix-sysv3 60343ecf206Smrg ;; 604fd0c672fSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 60543ecf206Smrg GUESS=m68k-tektronix-bsd 60643ecf206Smrg ;; 607fd0c672fSmrg *:IRIX*:*:*) 60843ecf206Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 60943ecf206Smrg GUESS=mips-sgi-irix$IRIX_REL 61043ecf206Smrg ;; 611fd0c672fSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 61243ecf206Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 61343ecf206Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 614fd0c672fSmrg i*86:AIX:*:*) 61543ecf206Smrg GUESS=i386-ibm-aix 61643ecf206Smrg ;; 617fd0c672fSmrg ia64:AIX:*:*) 61843ecf206Smrg if test -x /usr/bin/oslevel ; then 619fd0c672fSmrg IBM_REV=`/usr/bin/oslevel` 620fd0c672fSmrg else 62143ecf206Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 622fd0c672fSmrg fi 62343ecf206Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 62443ecf206Smrg ;; 625fd0c672fSmrg *:AIX:2:3) 626fd0c672fSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 62743ecf206Smrg set_cc_for_build 6288846b520Smrg sed 's/^ //' << EOF > "$dummy.c" 629fd0c672fSmrg #include <sys/systemcfg.h> 630fd0c672fSmrg 631fd0c672fSmrg main() 632fd0c672fSmrg { 633fd0c672fSmrg if (!__power_pc()) 634fd0c672fSmrg exit(1); 635fd0c672fSmrg puts("powerpc-ibm-aix3.2.5"); 636fd0c672fSmrg exit(0); 637fd0c672fSmrg } 638fd0c672fSmrgEOF 6398846b520Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 64048e69166Smrg then 64143ecf206Smrg GUESS=$SYSTEM_NAME 64248e69166Smrg else 64343ecf206Smrg GUESS=rs6000-ibm-aix3.2.5 64448e69166Smrg fi 645fd0c672fSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 64643ecf206Smrg GUESS=rs6000-ibm-aix3.2.4 647fd0c672fSmrg else 64843ecf206Smrg GUESS=rs6000-ibm-aix3.2 649fd0c672fSmrg fi 65043ecf206Smrg ;; 65148e69166Smrg *:AIX:*:[4567]) 652fd0c672fSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 6538846b520Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 654fd0c672fSmrg IBM_ARCH=rs6000 655fd0c672fSmrg else 656fd0c672fSmrg IBM_ARCH=powerpc 657fd0c672fSmrg fi 65843ecf206Smrg if test -x /usr/bin/lslpp ; then 65943ecf206Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 6608846b520Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 661fd0c672fSmrg else 66243ecf206Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 663fd0c672fSmrg fi 66443ecf206Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 66543ecf206Smrg ;; 666fd0c672fSmrg *:AIX:*:*) 66743ecf206Smrg GUESS=rs6000-ibm-aix 66843ecf206Smrg ;; 6698846b520Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 67043ecf206Smrg GUESS=romp-ibm-bsd4.4 67143ecf206Smrg ;; 672fd0c672fSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 67343ecf206Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 67443ecf206Smrg ;; # report: romp-ibm BSD 4.3 675fd0c672fSmrg *:BOSX:*:*) 67643ecf206Smrg GUESS=rs6000-bull-bosx 67743ecf206Smrg ;; 678fd0c672fSmrg DPX/2?00:B.O.S.:*:*) 67943ecf206Smrg GUESS=m68k-bull-sysv3 68043ecf206Smrg ;; 681fd0c672fSmrg 9000/[34]??:4.3bsd:1.*:*) 68243ecf206Smrg GUESS=m68k-hp-bsd 68343ecf206Smrg ;; 684fd0c672fSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 68543ecf206Smrg GUESS=m68k-hp-bsd4.4 68643ecf206Smrg ;; 687fd0c672fSmrg 9000/[34678]??:HP-UX:*:*) 68843ecf206Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 68943ecf206Smrg case $UNAME_MACHINE in 6908846b520Smrg 9000/31?) HP_ARCH=m68000 ;; 6918846b520Smrg 9000/[34]??) HP_ARCH=m68k ;; 692fd0c672fSmrg 9000/[678][0-9][0-9]) 69343ecf206Smrg if test -x /usr/bin/getconf; then 694fd0c672fSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 695953c684bSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 69643ecf206Smrg case $sc_cpu_version in 6978846b520Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 6988846b520Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 699953c684bSmrg 532) # CPU_PA_RISC2_0 70043ecf206Smrg case $sc_kernel_bits in 7018846b520Smrg 32) HP_ARCH=hppa2.0n ;; 7028846b520Smrg 64) HP_ARCH=hppa2.0w ;; 7038846b520Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 704953c684bSmrg esac ;; 705953c684bSmrg esac 706fd0c672fSmrg fi 70743ecf206Smrg if test "$HP_ARCH" = ""; then 70843ecf206Smrg set_cc_for_build 7098846b520Smrg sed 's/^ //' << EOF > "$dummy.c" 710fd0c672fSmrg 711953c684bSmrg #define _HPUX_SOURCE 712953c684bSmrg #include <stdlib.h> 713953c684bSmrg #include <unistd.h> 714fd0c672fSmrg 715953c684bSmrg int main () 716953c684bSmrg { 717953c684bSmrg #if defined(_SC_KERNEL_BITS) 718953c684bSmrg long bits = sysconf(_SC_KERNEL_BITS); 719953c684bSmrg #endif 720953c684bSmrg long cpu = sysconf (_SC_CPU_VERSION); 721fd0c672fSmrg 722953c684bSmrg switch (cpu) 723953c684bSmrg { 724953c684bSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 725953c684bSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 726953c684bSmrg case CPU_PA_RISC2_0: 727953c684bSmrg #if defined(_SC_KERNEL_BITS) 728953c684bSmrg switch (bits) 729953c684bSmrg { 730953c684bSmrg case 64: puts ("hppa2.0w"); break; 731953c684bSmrg case 32: puts ("hppa2.0n"); break; 732953c684bSmrg default: puts ("hppa2.0"); break; 733953c684bSmrg } break; 734953c684bSmrg #else /* !defined(_SC_KERNEL_BITS) */ 735953c684bSmrg puts ("hppa2.0"); break; 736953c684bSmrg #endif 737953c684bSmrg default: puts ("hppa1.0"); break; 738953c684bSmrg } 739953c684bSmrg exit (0); 740953c684bSmrg } 741fd0c672fSmrgEOF 7428846b520Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 743fd0c672fSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 744fd0c672fSmrg fi ;; 745fd0c672fSmrg esac 74643ecf206Smrg if test "$HP_ARCH" = hppa2.0w 747fd0c672fSmrg then 74843ecf206Smrg set_cc_for_build 74948e69166Smrg 75048e69166Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 75148e69166Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 75248e69166Smrg # generating 64-bit code. GNU and HP use different nomenclature: 75348e69166Smrg # 75448e69166Smrg # $ CC_FOR_BUILD=cc ./config.guess 75548e69166Smrg # => hppa2.0w-hp-hpux11.23 75648e69166Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 75748e69166Smrg # => hppa64-hp-hpux11.23 75848e69166Smrg 7598846b520Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 76048e69166Smrg grep -q __LP64__ 761fd0c672fSmrg then 7628846b520Smrg HP_ARCH=hppa2.0w 763fd0c672fSmrg else 7648846b520Smrg HP_ARCH=hppa64 765fd0c672fSmrg fi 766fd0c672fSmrg fi 76743ecf206Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 76843ecf206Smrg ;; 769fd0c672fSmrg ia64:HP-UX:*:*) 77043ecf206Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 77143ecf206Smrg GUESS=ia64-hp-hpux$HPUX_REV 77243ecf206Smrg ;; 773fd0c672fSmrg 3050*:HI-UX:*:*) 77443ecf206Smrg set_cc_for_build 7758846b520Smrg sed 's/^ //' << EOF > "$dummy.c" 776fd0c672fSmrg #include <unistd.h> 777fd0c672fSmrg int 778fd0c672fSmrg main () 779fd0c672fSmrg { 780fd0c672fSmrg long cpu = sysconf (_SC_CPU_VERSION); 781fd0c672fSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 782fd0c672fSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 783fd0c672fSmrg results, however. */ 784fd0c672fSmrg if (CPU_IS_PA_RISC (cpu)) 785fd0c672fSmrg { 786fd0c672fSmrg switch (cpu) 787fd0c672fSmrg { 788fd0c672fSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 789fd0c672fSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 790fd0c672fSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 791fd0c672fSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 792fd0c672fSmrg } 793fd0c672fSmrg } 794fd0c672fSmrg else if (CPU_IS_HP_MC68K (cpu)) 795fd0c672fSmrg puts ("m68k-hitachi-hiuxwe2"); 796fd0c672fSmrg else puts ("unknown-hitachi-hiuxwe2"); 797fd0c672fSmrg exit (0); 798fd0c672fSmrg } 799fd0c672fSmrgEOF 8008846b520Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 80148e69166Smrg { echo "$SYSTEM_NAME"; exit; } 80243ecf206Smrg GUESS=unknown-hitachi-hiuxwe2 80343ecf206Smrg ;; 8048846b520Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 80543ecf206Smrg GUESS=hppa1.1-hp-bsd 80643ecf206Smrg ;; 807fd0c672fSmrg 9000/8??:4.3bsd:*:*) 80843ecf206Smrg GUESS=hppa1.0-hp-bsd 80943ecf206Smrg ;; 810fd0c672fSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 81143ecf206Smrg GUESS=hppa1.0-hp-mpeix 81243ecf206Smrg ;; 8138846b520Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 81443ecf206Smrg GUESS=hppa1.1-hp-osf 81543ecf206Smrg ;; 816fd0c672fSmrg hp8??:OSF1:*:*) 81743ecf206Smrg GUESS=hppa1.0-hp-osf 81843ecf206Smrg ;; 819fd0c672fSmrg i*86:OSF1:*:*) 82043ecf206Smrg if test -x /usr/sbin/sysversion ; then 82143ecf206Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 822fd0c672fSmrg else 82343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-osf1 824fd0c672fSmrg fi 82543ecf206Smrg ;; 826fd0c672fSmrg parisc*:Lites*:*:*) 82743ecf206Smrg GUESS=hppa1.1-hp-lites 82843ecf206Smrg ;; 829fd0c672fSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 83043ecf206Smrg GUESS=c1-convex-bsd 83143ecf206Smrg ;; 832fd0c672fSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 833fd0c672fSmrg if getsysinfo -f scalar_acc 834fd0c672fSmrg then echo c32-convex-bsd 835fd0c672fSmrg else echo c2-convex-bsd 836fd0c672fSmrg fi 837953c684bSmrg exit ;; 838fd0c672fSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 83943ecf206Smrg GUESS=c34-convex-bsd 84043ecf206Smrg ;; 841fd0c672fSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 84243ecf206Smrg GUESS=c38-convex-bsd 84343ecf206Smrg ;; 844fd0c672fSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 84543ecf206Smrg GUESS=c4-convex-bsd 84643ecf206Smrg ;; 847fd0c672fSmrg CRAY*Y-MP:*:*:*) 84843ecf206Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 84943ecf206Smrg GUESS=ymp-cray-unicos$CRAY_REL 85043ecf206Smrg ;; 851fd0c672fSmrg CRAY*[A-Z]90:*:*:*) 8528846b520Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 853fd0c672fSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 854fd0c672fSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 855fd0c672fSmrg -e 's/\.[^.]*$/.X/' 85648e69166Smrg exit ;; 857fd0c672fSmrg CRAY*TS:*:*:*) 85843ecf206Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 85943ecf206Smrg GUESS=t90-cray-unicos$CRAY_REL 86043ecf206Smrg ;; 861fd0c672fSmrg CRAY*T3E:*:*:*) 86243ecf206Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86343ecf206Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 86443ecf206Smrg ;; 865fd0c672fSmrg CRAY*SV1:*:*:*) 86643ecf206Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86743ecf206Smrg GUESS=sv1-cray-unicos$CRAY_REL 86843ecf206Smrg ;; 869fd0c672fSmrg *:UNICOS/mp:*:*) 87043ecf206Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87143ecf206Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 87243ecf206Smrg ;; 873fd0c672fSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 8748846b520Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 8758846b520Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8768846b520Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 87743ecf206Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 87843ecf206Smrg ;; 879fd0c672fSmrg 5000:UNIX_System_V:4.*:*) 8808846b520Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8818846b520Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 88243ecf206Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88343ecf206Smrg ;; 884fd0c672fSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 88543ecf206Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 88643ecf206Smrg ;; 887fd0c672fSmrg sparc*:BSD/OS:*:*) 88843ecf206Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 88943ecf206Smrg ;; 890fd0c672fSmrg *:BSD/OS:*:*) 89143ecf206Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 89243ecf206Smrg ;; 89343ecf206Smrg arm:FreeBSD:*:*) 89443ecf206Smrg UNAME_PROCESSOR=`uname -p` 89543ecf206Smrg set_cc_for_build 89643ecf206Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 89743ecf206Smrg | grep -q __ARM_PCS_VFP 89843ecf206Smrg then 89943ecf206Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90043ecf206Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90143ecf206Smrg else 90243ecf206Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90343ecf206Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 90443ecf206Smrg fi 90543ecf206Smrg ;; 906fd0c672fSmrg *:FreeBSD:*:*) 907953c684bSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 90843ecf206Smrg case $UNAME_PROCESSOR in 90948e69166Smrg amd64) 9108846b520Smrg UNAME_PROCESSOR=x86_64 ;; 9118846b520Smrg i386) 9128846b520Smrg UNAME_PROCESSOR=i586 ;; 91348e69166Smrg esac 91443ecf206Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 91543ecf206Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 91643ecf206Smrg ;; 917fd0c672fSmrg i*:CYGWIN*:*) 91843ecf206Smrg GUESS=$UNAME_MACHINE-pc-cygwin 91943ecf206Smrg ;; 920953c684bSmrg *:MINGW64*:*) 92143ecf206Smrg GUESS=$UNAME_MACHINE-pc-mingw64 92243ecf206Smrg ;; 92348e69166Smrg *:MINGW*:*) 92443ecf206Smrg GUESS=$UNAME_MACHINE-pc-mingw32 92543ecf206Smrg ;; 9268846b520Smrg *:MSYS*:*) 92743ecf206Smrg GUESS=$UNAME_MACHINE-pc-msys 92843ecf206Smrg ;; 929fd0c672fSmrg i*:PW*:*) 93043ecf206Smrg GUESS=$UNAME_MACHINE-pc-pw32 93143ecf206Smrg ;; 93283f4f7f0Smrg *:SerenityOS:*:*) 93383f4f7f0Smrg GUESS=$UNAME_MACHINE-pc-serenity 93483f4f7f0Smrg ;; 93548e69166Smrg *:Interix*:*) 93643ecf206Smrg case $UNAME_MACHINE in 93748e69166Smrg x86) 93843ecf206Smrg GUESS=i586-pc-interix$UNAME_RELEASE 93943ecf206Smrg ;; 94048e69166Smrg authenticamd | genuineintel | EM64T) 94143ecf206Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 94243ecf206Smrg ;; 94348e69166Smrg IA64) 94443ecf206Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 94543ecf206Smrg ;; 94648e69166Smrg esac ;; 947fd0c672fSmrg i*:UWIN*:*) 94843ecf206Smrg GUESS=$UNAME_MACHINE-pc-uwin 94943ecf206Smrg ;; 95048e69166Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 95143ecf206Smrg GUESS=x86_64-pc-cygwin 95243ecf206Smrg ;; 953fd0c672fSmrg prep*:SunOS:5.*:*) 95443ecf206Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 95543ecf206Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 95643ecf206Smrg ;; 957fd0c672fSmrg *:GNU:*:*) 958fd0c672fSmrg # the GNU system 95943ecf206Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 96043ecf206Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 96143ecf206Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 96243ecf206Smrg ;; 963fd0c672fSmrg *:GNU/*:*:*) 964fd0c672fSmrg # other systems with GNU libc and userland 96543ecf206Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 96643ecf206Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 96743ecf206Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 96843ecf206Smrg ;; 96983f4f7f0Smrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 97083f4f7f0Smrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 97183f4f7f0Smrg ;; 97283f4f7f0Smrg *:[Mm]anagarm:*:*) 97383f4f7f0Smrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 97483f4f7f0Smrg ;; 97543ecf206Smrg *:Minix:*:*) 97643ecf206Smrg GUESS=$UNAME_MACHINE-unknown-minix 97743ecf206Smrg ;; 978953c684bSmrg aarch64:Linux:*:*) 97943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98043ecf206Smrg ;; 981953c684bSmrg aarch64_be:Linux:*:*) 982953c684bSmrg UNAME_MACHINE=aarch64_be 98343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98443ecf206Smrg ;; 98548e69166Smrg alpha:Linux:*:*) 98643ecf206Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 98748e69166Smrg EV5) UNAME_MACHINE=alphaev5 ;; 98848e69166Smrg EV56) UNAME_MACHINE=alphaev56 ;; 98948e69166Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 99048e69166Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 99148e69166Smrg EV6) UNAME_MACHINE=alphaev6 ;; 99248e69166Smrg EV67) UNAME_MACHINE=alphaev67 ;; 99348e69166Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 994953c684bSmrg esac 99548e69166Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 9968846b520Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 99743ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 99843ecf206Smrg ;; 99943ecf206Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 100043ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 100143ecf206Smrg ;; 1002fd0c672fSmrg arm*:Linux:*:*) 100343ecf206Smrg set_cc_for_build 100448e69166Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 100548e69166Smrg | grep -q __ARM_EABI__ 100648e69166Smrg then 100743ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 100848e69166Smrg else 1009953c684bSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1010953c684bSmrg | grep -q __ARM_PCS_VFP 1011953c684bSmrg then 101243ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1013953c684bSmrg else 101443ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1015953c684bSmrg fi 101648e69166Smrg fi 101743ecf206Smrg ;; 101848e69166Smrg avr32*:Linux:*:*) 101943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102043ecf206Smrg ;; 1021fd0c672fSmrg cris:Linux:*:*) 102243ecf206Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102343ecf206Smrg ;; 102448e69166Smrg crisv32:Linux:*:*) 102543ecf206Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102643ecf206Smrg ;; 10278846b520Smrg e2k:Linux:*:*) 102843ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102943ecf206Smrg ;; 103048e69166Smrg frv:Linux:*:*) 103143ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103243ecf206Smrg ;; 1033953c684bSmrg hexagon:Linux:*:*) 103443ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103543ecf206Smrg ;; 103648e69166Smrg i*86:Linux:*:*) 103743ecf206Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 103843ecf206Smrg ;; 1039fd0c672fSmrg ia64:Linux:*:*) 104043ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104143ecf206Smrg ;; 10428846b520Smrg k1om:Linux:*:*) 104343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104443ecf206Smrg ;; 104583f4f7f0Smrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 104643ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104743ecf206Smrg ;; 1048fd0c672fSmrg m32r*:Linux:*:*) 104943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105043ecf206Smrg ;; 1051fd0c672fSmrg m68*:Linux:*:*) 105243ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105343ecf206Smrg ;; 105448e69166Smrg mips:Linux:*:* | mips64:Linux:*:*) 105543ecf206Smrg set_cc_for_build 105643ecf206Smrg IS_GLIBC=0 105743ecf206Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 10588846b520Smrg sed 's/^ //' << EOF > "$dummy.c" 1059fd0c672fSmrg #undef CPU 106043ecf206Smrg #undef mips 106143ecf206Smrg #undef mipsel 106243ecf206Smrg #undef mips64 106343ecf206Smrg #undef mips64el 106443ecf206Smrg #if ${IS_GLIBC} && defined(_ABI64) 106543ecf206Smrg LIBCABI=gnuabi64 106643ecf206Smrg #else 106743ecf206Smrg #if ${IS_GLIBC} && defined(_ABIN32) 106843ecf206Smrg LIBCABI=gnuabin32 106943ecf206Smrg #else 107043ecf206Smrg LIBCABI=${LIBC} 107143ecf206Smrg #endif 107243ecf206Smrg #endif 107343ecf206Smrg 107443ecf206Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107543ecf206Smrg CPU=mipsisa64r6 107643ecf206Smrg #else 107743ecf206Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107843ecf206Smrg CPU=mipsisa32r6 107943ecf206Smrg #else 108043ecf206Smrg #if defined(__mips64) 108143ecf206Smrg CPU=mips64 108243ecf206Smrg #else 108343ecf206Smrg CPU=mips 108443ecf206Smrg #endif 108543ecf206Smrg #endif 108643ecf206Smrg #endif 108743ecf206Smrg 1088fd0c672fSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 108943ecf206Smrg MIPS_ENDIAN=el 1090fd0c672fSmrg #else 1091fd0c672fSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 109243ecf206Smrg MIPS_ENDIAN= 1093fd0c672fSmrg #else 109443ecf206Smrg MIPS_ENDIAN= 1095fd0c672fSmrg #endif 1096fd0c672fSmrg #endif 1097fd0c672fSmrgEOF 109843ecf206Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 109943ecf206Smrg eval "$cc_set_vars" 110043ecf206Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1101fd0c672fSmrg ;; 11028846b520Smrg mips64el:Linux:*:*) 110343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 110443ecf206Smrg ;; 11058846b520Smrg openrisc*:Linux:*:*) 110643ecf206Smrg GUESS=or1k-unknown-linux-$LIBC 110743ecf206Smrg ;; 11088846b520Smrg or32:Linux:*:* | or1k*:Linux:*:*) 110943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 111043ecf206Smrg ;; 111148e69166Smrg padre:Linux:*:*) 111243ecf206Smrg GUESS=sparc-unknown-linux-$LIBC 111343ecf206Smrg ;; 111448e69166Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 111543ecf206Smrg GUESS=hppa64-unknown-linux-$LIBC 111643ecf206Smrg ;; 1117fd0c672fSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1118fd0c672fSmrg # Look for CPU level 1119fd0c672fSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 112043ecf206Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 112143ecf206Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 112243ecf206Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1123fd0c672fSmrg esac 112443ecf206Smrg ;; 112548e69166Smrg ppc64:Linux:*:*) 112643ecf206Smrg GUESS=powerpc64-unknown-linux-$LIBC 112743ecf206Smrg ;; 112848e69166Smrg ppc:Linux:*:*) 112943ecf206Smrg GUESS=powerpc-unknown-linux-$LIBC 113043ecf206Smrg ;; 1131953c684bSmrg ppc64le:Linux:*:*) 113243ecf206Smrg GUESS=powerpc64le-unknown-linux-$LIBC 113343ecf206Smrg ;; 1134953c684bSmrg ppcle:Linux:*:*) 113543ecf206Smrg GUESS=powerpcle-unknown-linux-$LIBC 113643ecf206Smrg ;; 113743ecf206Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 113843ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113943ecf206Smrg ;; 1140fd0c672fSmrg s390:Linux:*:* | s390x:Linux:*:*) 114143ecf206Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 114243ecf206Smrg ;; 1143fd0c672fSmrg sh64*:Linux:*:*) 114443ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114543ecf206Smrg ;; 1146fd0c672fSmrg sh*:Linux:*:*) 114743ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114843ecf206Smrg ;; 1149fd0c672fSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 115043ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115143ecf206Smrg ;; 115248e69166Smrg tile*:Linux:*:*) 115343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115443ecf206Smrg ;; 115548e69166Smrg vax:Linux:*:*) 115643ecf206Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 115743ecf206Smrg ;; 1158fd0c672fSmrg x86_64:Linux:*:*) 115943ecf206Smrg set_cc_for_build 116083f4f7f0Smrg CPU=$UNAME_MACHINE 116143ecf206Smrg LIBCABI=$LIBC 116243ecf206Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 116383f4f7f0Smrg ABI=64 116483f4f7f0Smrg sed 's/^ //' << EOF > "$dummy.c" 116583f4f7f0Smrg #ifdef __i386__ 116683f4f7f0Smrg ABI=x86 116783f4f7f0Smrg #else 116883f4f7f0Smrg #ifdef __ILP32__ 116983f4f7f0Smrg ABI=x32 117083f4f7f0Smrg #endif 117183f4f7f0Smrg #endif 117283f4f7f0SmrgEOF 117383f4f7f0Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 117483f4f7f0Smrg eval "$cc_set_abi" 117583f4f7f0Smrg case $ABI in 117683f4f7f0Smrg x86) CPU=i686 ;; 117783f4f7f0Smrg x32) LIBCABI=${LIBC}x32 ;; 117883f4f7f0Smrg esac 117943ecf206Smrg fi 118083f4f7f0Smrg GUESS=$CPU-pc-linux-$LIBCABI 118143ecf206Smrg ;; 118248e69166Smrg xtensa*:Linux:*:*) 118343ecf206Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118443ecf206Smrg ;; 1185fd0c672fSmrg i*86:DYNIX/ptx:4*:*) 1186fd0c672fSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1187fd0c672fSmrg # earlier versions are messed up and put the nodename in both 1188fd0c672fSmrg # sysname and nodename. 118943ecf206Smrg GUESS=i386-sequent-sysv4 119043ecf206Smrg ;; 1191fd0c672fSmrg i*86:UNIX_SV:4.2MP:2.*) 1192953c684bSmrg # Unixware is an offshoot of SVR4, but it has its own version 1193953c684bSmrg # number series starting with 2... 1194953c684bSmrg # I am not positive that other SVR4 systems won't match this, 1195fd0c672fSmrg # I just have to hope. -- rms. 1196953c684bSmrg # Use sysv4.2uw... so that sysv4* matches it. 119743ecf206Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 119843ecf206Smrg ;; 1199fd0c672fSmrg i*86:OS/2:*:*) 1200fd0c672fSmrg # If we were able to find `uname', then EMX Unix compatibility 1201fd0c672fSmrg # is probably installed. 120243ecf206Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 120343ecf206Smrg ;; 1204fd0c672fSmrg i*86:XTS-300:*:STOP) 120543ecf206Smrg GUESS=$UNAME_MACHINE-unknown-stop 120643ecf206Smrg ;; 1207fd0c672fSmrg i*86:atheos:*:*) 120843ecf206Smrg GUESS=$UNAME_MACHINE-unknown-atheos 120943ecf206Smrg ;; 121048e69166Smrg i*86:syllable:*:*) 121143ecf206Smrg GUESS=$UNAME_MACHINE-pc-syllable 121243ecf206Smrg ;; 121348e69166Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 121443ecf206Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 121543ecf206Smrg ;; 1216fd0c672fSmrg i*86:*DOS:*:*) 121743ecf206Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 121843ecf206Smrg ;; 12198846b520Smrg i*86:*:4.*:*) 12208846b520Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1221fd0c672fSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 122243ecf206Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1223fd0c672fSmrg else 122443ecf206Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1225fd0c672fSmrg fi 122643ecf206Smrg ;; 122748e69166Smrg i*86:*:5:[678]*) 1228953c684bSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1229fd0c672fSmrg case `/bin/uname -X | grep "^Machine"` in 1230fd0c672fSmrg *486*) UNAME_MACHINE=i486 ;; 1231fd0c672fSmrg *Pentium) UNAME_MACHINE=i586 ;; 1232fd0c672fSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1233fd0c672fSmrg esac 123443ecf206Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 123543ecf206Smrg ;; 1236fd0c672fSmrg i*86:*:3.2:*) 1237fd0c672fSmrg if test -f /usr/options/cb.name; then 1238fd0c672fSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 123943ecf206Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1240fd0c672fSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1241fd0c672fSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1242fd0c672fSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1243fd0c672fSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1244fd0c672fSmrg && UNAME_MACHINE=i586 1245fd0c672fSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1246fd0c672fSmrg && UNAME_MACHINE=i686 1247fd0c672fSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1248fd0c672fSmrg && UNAME_MACHINE=i686 124943ecf206Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1250fd0c672fSmrg else 125143ecf206Smrg GUESS=$UNAME_MACHINE-pc-sysv32 1252fd0c672fSmrg fi 125343ecf206Smrg ;; 1254fd0c672fSmrg pc:*:*:*) 1255fd0c672fSmrg # Left here for compatibility: 1256953c684bSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1257953c684bSmrg # the processor, so we play safe by assuming i586. 125848e69166Smrg # Note: whatever this is, it MUST be the same as what config.sub 12598846b520Smrg # prints for the "djgpp" host, or else GDB configure will decide that 126048e69166Smrg # this is a cross-build. 126143ecf206Smrg GUESS=i586-pc-msdosdjgpp 126243ecf206Smrg ;; 1263fd0c672fSmrg Intel:Mach:3*:*) 126443ecf206Smrg GUESS=i386-pc-mach3 126543ecf206Smrg ;; 1266fd0c672fSmrg paragon:*:*:*) 126743ecf206Smrg GUESS=i860-intel-osf1 126843ecf206Smrg ;; 1269fd0c672fSmrg i860:*:4.*:*) # i860-SVR4 1270fd0c672fSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 127143ecf206Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1272fd0c672fSmrg else # Add other i860-SVR4 vendors below as they are discovered. 127343ecf206Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1274fd0c672fSmrg fi 127543ecf206Smrg ;; 1276fd0c672fSmrg mini*:CTIX:SYS*5:*) 1277fd0c672fSmrg # "miniframe" 127843ecf206Smrg GUESS=m68010-convergent-sysv 127943ecf206Smrg ;; 1280fd0c672fSmrg mc68k:UNIX:SYSTEM5:3.51m) 128143ecf206Smrg GUESS=m68k-convergent-sysv 128243ecf206Smrg ;; 1283fd0c672fSmrg M680?0:D-NIX:5.3:*) 128443ecf206Smrg GUESS=m68k-diab-dnix 128543ecf206Smrg ;; 1286fd0c672fSmrg M68*:*:R3V[5678]*:*) 128748e69166Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 128848e69166Smrg 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 1289fd0c672fSmrg OS_REL='' 1290fd0c672fSmrg test -r /etc/.relid \ 1291fd0c672fSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1292fd0c672fSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12938846b520Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1294fd0c672fSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12958846b520Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1296fd0c672fSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1297953c684bSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1298953c684bSmrg && { echo i486-ncr-sysv4; exit; } ;; 129948e69166Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 130048e69166Smrg OS_REL='.3' 130148e69166Smrg test -r /etc/.relid \ 130248e69166Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 130348e69166Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 13048846b520Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 130548e69166Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 13068846b520Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 130748e69166Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 13088846b520Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1309fd0c672fSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 131043ecf206Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 131143ecf206Smrg ;; 1312fd0c672fSmrg mc68030:UNIX_System_V:4.*:*) 131343ecf206Smrg GUESS=m68k-atari-sysv4 131443ecf206Smrg ;; 1315fd0c672fSmrg TSUNAMI:LynxOS:2.*:*) 131643ecf206Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 131743ecf206Smrg ;; 1318fd0c672fSmrg rs6000:LynxOS:2.*:*) 131943ecf206Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 132043ecf206Smrg ;; 132148e69166Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 132243ecf206Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 132343ecf206Smrg ;; 1324fd0c672fSmrg SM[BE]S:UNIX_SV:*:*) 132543ecf206Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 132643ecf206Smrg ;; 1327fd0c672fSmrg RM*:ReliantUNIX-*:*:*) 132843ecf206Smrg GUESS=mips-sni-sysv4 132943ecf206Smrg ;; 1330fd0c672fSmrg RM*:SINIX-*:*:*) 133143ecf206Smrg GUESS=mips-sni-sysv4 133243ecf206Smrg ;; 1333fd0c672fSmrg *:SINIX-*:*:*) 1334fd0c672fSmrg if uname -p 2>/dev/null >/dev/null ; then 1335fd0c672fSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 133643ecf206Smrg GUESS=$UNAME_MACHINE-sni-sysv4 1337fd0c672fSmrg else 133843ecf206Smrg GUESS=ns32k-sni-sysv 1339fd0c672fSmrg fi 134043ecf206Smrg ;; 1341953c684bSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1342953c684bSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 134343ecf206Smrg GUESS=i586-unisys-sysv4 134443ecf206Smrg ;; 1345fd0c672fSmrg *:UNIX_System_V:4*:FTX*) 1346fd0c672fSmrg # From Gerald Hewes <hewes@openmarket.com>. 1347fd0c672fSmrg # How about differentiating between stratus architectures? -djm 134843ecf206Smrg GUESS=hppa1.1-stratus-sysv4 134943ecf206Smrg ;; 1350fd0c672fSmrg *:*:*:FTX*) 1351fd0c672fSmrg # From seanf@swdc.stratus.com. 135243ecf206Smrg GUESS=i860-stratus-sysv4 135343ecf206Smrg ;; 135448e69166Smrg i*86:VOS:*:*) 135548e69166Smrg # From Paul.Green@stratus.com. 135643ecf206Smrg GUESS=$UNAME_MACHINE-stratus-vos 135743ecf206Smrg ;; 1358fd0c672fSmrg *:VOS:*:*) 1359fd0c672fSmrg # From Paul.Green@stratus.com. 136043ecf206Smrg GUESS=hppa1.1-stratus-vos 136143ecf206Smrg ;; 1362fd0c672fSmrg mc68*:A/UX:*:*) 136343ecf206Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 136443ecf206Smrg ;; 1365fd0c672fSmrg news*:NEWS-OS:6*:*) 136643ecf206Smrg GUESS=mips-sony-newsos6 136743ecf206Smrg ;; 1368fd0c672fSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 136943ecf206Smrg if test -d /usr/nec; then 137043ecf206Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 1371fd0c672fSmrg else 137243ecf206Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1373fd0c672fSmrg fi 137443ecf206Smrg ;; 1375fd0c672fSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 137643ecf206Smrg GUESS=powerpc-be-beos 137743ecf206Smrg ;; 1378fd0c672fSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 137943ecf206Smrg GUESS=powerpc-apple-beos 138043ecf206Smrg ;; 1381fd0c672fSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 138243ecf206Smrg GUESS=i586-pc-beos 138343ecf206Smrg ;; 138448e69166Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 138543ecf206Smrg GUESS=i586-pc-haiku 138643ecf206Smrg ;; 138783f4f7f0Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 138883f4f7f0Smrg GUESS=powerpc-apple-haiku 138983f4f7f0Smrg ;; 139083f4f7f0Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 139183f4f7f0Smrg GUESS=$UNAME_MACHINE-unknown-haiku 139243ecf206Smrg ;; 1393fd0c672fSmrg SX-4:SUPER-UX:*:*) 139443ecf206Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 139543ecf206Smrg ;; 1396fd0c672fSmrg SX-5:SUPER-UX:*:*) 139743ecf206Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 139843ecf206Smrg ;; 1399fd0c672fSmrg SX-6:SUPER-UX:*:*) 140043ecf206Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 140143ecf206Smrg ;; 140248e69166Smrg SX-7:SUPER-UX:*:*) 140343ecf206Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 140443ecf206Smrg ;; 140548e69166Smrg SX-8:SUPER-UX:*:*) 140643ecf206Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 140743ecf206Smrg ;; 140848e69166Smrg SX-8R:SUPER-UX:*:*) 140943ecf206Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 141043ecf206Smrg ;; 14118846b520Smrg SX-ACE:SUPER-UX:*:*) 141243ecf206Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 141343ecf206Smrg ;; 1414fd0c672fSmrg Power*:Rhapsody:*:*) 141543ecf206Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 141643ecf206Smrg ;; 1417fd0c672fSmrg *:Rhapsody:*:*) 141843ecf206Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 141943ecf206Smrg ;; 142043ecf206Smrg arm64:Darwin:*:*) 142143ecf206Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 142243ecf206Smrg ;; 1423fd0c672fSmrg *:Darwin:*:*) 142443ecf206Smrg UNAME_PROCESSOR=`uname -p` 142543ecf206Smrg case $UNAME_PROCESSOR in 142643ecf206Smrg unknown) UNAME_PROCESSOR=powerpc ;; 142743ecf206Smrg esac 142843ecf206Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 142943ecf206Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 143043ecf206Smrg # Avoid executing cc if there is no toolchain installed as 143143ecf206Smrg # cc will be a stub that puts up a graphical alert 143243ecf206Smrg # prompting the user to install developer tools. 143343ecf206Smrg CC_FOR_BUILD=no_compiler_found 143443ecf206Smrg else 143543ecf206Smrg set_cc_for_build 1436953c684bSmrg fi 143743ecf206Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 143843ecf206Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 143943ecf206Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 144043ecf206Smrg grep IS_64BIT_ARCH >/dev/null 144143ecf206Smrg then 144243ecf206Smrg case $UNAME_PROCESSOR in 144343ecf206Smrg i386) UNAME_PROCESSOR=x86_64 ;; 144443ecf206Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 144543ecf206Smrg esac 144643ecf206Smrg fi 144743ecf206Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 144843ecf206Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 144943ecf206Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 145043ecf206Smrg grep IS_PPC >/dev/null 145143ecf206Smrg then 145243ecf206Smrg UNAME_PROCESSOR=powerpc 1453953c684bSmrg fi 14548846b520Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 145543ecf206Smrg # uname -m returns i386 or x86_64 145643ecf206Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1457953c684bSmrg fi 145843ecf206Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 145943ecf206Smrg ;; 1460fd0c672fSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1461fd0c672fSmrg UNAME_PROCESSOR=`uname -p` 14628846b520Smrg if test "$UNAME_PROCESSOR" = x86; then 1463fd0c672fSmrg UNAME_PROCESSOR=i386 1464fd0c672fSmrg UNAME_MACHINE=pc 1465fd0c672fSmrg fi 146643ecf206Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 146743ecf206Smrg ;; 1468fd0c672fSmrg *:QNX:*:4*) 146943ecf206Smrg GUESS=i386-pc-qnx 147043ecf206Smrg ;; 14718846b520Smrg NEO-*:NONSTOP_KERNEL:*:*) 147243ecf206Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 147343ecf206Smrg ;; 1474953c684bSmrg NSE-*:NONSTOP_KERNEL:*:*) 147543ecf206Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 147643ecf206Smrg ;; 14778846b520Smrg NSR-*:NONSTOP_KERNEL:*:*) 147843ecf206Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 147943ecf206Smrg ;; 14808846b520Smrg NSV-*:NONSTOP_KERNEL:*:*) 148143ecf206Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 148243ecf206Smrg ;; 14838846b520Smrg NSX-*:NONSTOP_KERNEL:*:*) 148443ecf206Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 148543ecf206Smrg ;; 1486fd0c672fSmrg *:NonStop-UX:*:*) 148743ecf206Smrg GUESS=mips-compaq-nonstopux 148843ecf206Smrg ;; 1489fd0c672fSmrg BS2000:POSIX*:*:*) 149043ecf206Smrg GUESS=bs2000-siemens-sysv 149143ecf206Smrg ;; 1492fd0c672fSmrg DS/*:UNIX_System_V:*:*) 149343ecf206Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 149443ecf206Smrg ;; 1495fd0c672fSmrg *:Plan9:*:*) 1496fd0c672fSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1497fd0c672fSmrg # is converted to i386 for consistency with other x86 1498fd0c672fSmrg # operating systems. 149943ecf206Smrg if test "${cputype-}" = 386; then 1500fd0c672fSmrg UNAME_MACHINE=i386 150143ecf206Smrg elif test "x${cputype-}" != x; then 150243ecf206Smrg UNAME_MACHINE=$cputype 1503fd0c672fSmrg fi 150443ecf206Smrg GUESS=$UNAME_MACHINE-unknown-plan9 150543ecf206Smrg ;; 1506fd0c672fSmrg *:TOPS-10:*:*) 150743ecf206Smrg GUESS=pdp10-unknown-tops10 150843ecf206Smrg ;; 1509fd0c672fSmrg *:TENEX:*:*) 151043ecf206Smrg GUESS=pdp10-unknown-tenex 151143ecf206Smrg ;; 1512fd0c672fSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 151343ecf206Smrg GUESS=pdp10-dec-tops20 151443ecf206Smrg ;; 1515fd0c672fSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 151643ecf206Smrg GUESS=pdp10-xkl-tops20 151743ecf206Smrg ;; 1518fd0c672fSmrg *:TOPS-20:*:*) 151943ecf206Smrg GUESS=pdp10-unknown-tops20 152043ecf206Smrg ;; 1521fd0c672fSmrg *:ITS:*:*) 152243ecf206Smrg GUESS=pdp10-unknown-its 152343ecf206Smrg ;; 1524fd0c672fSmrg SEI:*:*:SEIUX) 152543ecf206Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 152643ecf206Smrg ;; 1527fd0c672fSmrg *:DragonFly:*:*) 152843ecf206Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 152943ecf206Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 153043ecf206Smrg ;; 153148e69166Smrg *:*VMS:*:*) 1532953c684bSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 153343ecf206Smrg case $UNAME_MACHINE in 153443ecf206Smrg A*) GUESS=alpha-dec-vms ;; 153543ecf206Smrg I*) GUESS=ia64-dec-vms ;; 153643ecf206Smrg V*) GUESS=vax-dec-vms ;; 153748e69166Smrg esac ;; 153848e69166Smrg *:XENIX:*:SysV) 153943ecf206Smrg GUESS=i386-pc-xenix 154043ecf206Smrg ;; 154148e69166Smrg i*86:skyos:*:*) 154243ecf206Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 154343ecf206Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 154443ecf206Smrg ;; 154548e69166Smrg i*86:rdos:*:*) 154643ecf206Smrg GUESS=$UNAME_MACHINE-pc-rdos 154743ecf206Smrg ;; 154883f4f7f0Smrg i*86:Fiwix:*:*) 154983f4f7f0Smrg GUESS=$UNAME_MACHINE-pc-fiwix 155083f4f7f0Smrg ;; 155143ecf206Smrg *:AROS:*:*) 155243ecf206Smrg GUESS=$UNAME_MACHINE-unknown-aros 155343ecf206Smrg ;; 1554953c684bSmrg x86_64:VMkernel:*:*) 155543ecf206Smrg GUESS=$UNAME_MACHINE-unknown-esx 155643ecf206Smrg ;; 15578846b520Smrg amd64:Isilon\ OneFS:*:*) 155843ecf206Smrg GUESS=x86_64-unknown-onefs 155943ecf206Smrg ;; 156043ecf206Smrg *:Unleashed:*:*) 156143ecf206Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 156243ecf206Smrg ;; 1563fd0c672fSmrgesac 1564fd0c672fSmrg 156543ecf206Smrg# Do we have a guess based on uname results? 156643ecf206Smrgif test "x$GUESS" != x; then 156743ecf206Smrg echo "$GUESS" 156843ecf206Smrg exit 156943ecf206Smrgfi 157043ecf206Smrg 157143ecf206Smrg# No uname command or uname output not recognized. 157243ecf206Smrgset_cc_for_build 157343ecf206Smrgcat > "$dummy.c" <<EOF 157443ecf206Smrg#ifdef _SEQUENT_ 157543ecf206Smrg#include <sys/types.h> 157643ecf206Smrg#include <sys/utsname.h> 157743ecf206Smrg#endif 157843ecf206Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 157943ecf206Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 158043ecf206Smrg#include <signal.h> 158143ecf206Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 158243ecf206Smrg#include <sys/utsname.h> 158343ecf206Smrg#endif 158443ecf206Smrg#endif 158543ecf206Smrg#endif 158643ecf206Smrgmain () 158743ecf206Smrg{ 158843ecf206Smrg#if defined (sony) 158943ecf206Smrg#if defined (MIPSEB) 159043ecf206Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 159143ecf206Smrg I don't know.... */ 159243ecf206Smrg printf ("mips-sony-bsd\n"); exit (0); 159343ecf206Smrg#else 159443ecf206Smrg#include <sys/param.h> 159543ecf206Smrg printf ("m68k-sony-newsos%s\n", 159643ecf206Smrg#ifdef NEWSOS4 159743ecf206Smrg "4" 159843ecf206Smrg#else 159943ecf206Smrg "" 160043ecf206Smrg#endif 160143ecf206Smrg ); exit (0); 160243ecf206Smrg#endif 160343ecf206Smrg#endif 160443ecf206Smrg 160543ecf206Smrg#if defined (NeXT) 160643ecf206Smrg#if !defined (__ARCHITECTURE__) 160743ecf206Smrg#define __ARCHITECTURE__ "m68k" 160843ecf206Smrg#endif 160943ecf206Smrg int version; 161043ecf206Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 161143ecf206Smrg if (version < 4) 161243ecf206Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 161343ecf206Smrg else 161443ecf206Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 161543ecf206Smrg exit (0); 161643ecf206Smrg#endif 161743ecf206Smrg 161843ecf206Smrg#if defined (MULTIMAX) || defined (n16) 161943ecf206Smrg#if defined (UMAXV) 162043ecf206Smrg printf ("ns32k-encore-sysv\n"); exit (0); 162143ecf206Smrg#else 162243ecf206Smrg#if defined (CMU) 162343ecf206Smrg printf ("ns32k-encore-mach\n"); exit (0); 162443ecf206Smrg#else 162543ecf206Smrg printf ("ns32k-encore-bsd\n"); exit (0); 162643ecf206Smrg#endif 162743ecf206Smrg#endif 162843ecf206Smrg#endif 162943ecf206Smrg 163043ecf206Smrg#if defined (__386BSD__) 163143ecf206Smrg printf ("i386-pc-bsd\n"); exit (0); 163243ecf206Smrg#endif 163343ecf206Smrg 163443ecf206Smrg#if defined (sequent) 163543ecf206Smrg#if defined (i386) 163643ecf206Smrg printf ("i386-sequent-dynix\n"); exit (0); 163743ecf206Smrg#endif 163843ecf206Smrg#if defined (ns32000) 163943ecf206Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 164043ecf206Smrg#endif 164143ecf206Smrg#endif 164243ecf206Smrg 164343ecf206Smrg#if defined (_SEQUENT_) 164443ecf206Smrg struct utsname un; 164543ecf206Smrg 164643ecf206Smrg uname(&un); 164743ecf206Smrg if (strncmp(un.version, "V2", 2) == 0) { 164843ecf206Smrg printf ("i386-sequent-ptx2\n"); exit (0); 164943ecf206Smrg } 165043ecf206Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 165143ecf206Smrg printf ("i386-sequent-ptx1\n"); exit (0); 165243ecf206Smrg } 165343ecf206Smrg printf ("i386-sequent-ptx\n"); exit (0); 165443ecf206Smrg#endif 165543ecf206Smrg 165643ecf206Smrg#if defined (vax) 165743ecf206Smrg#if !defined (ultrix) 165843ecf206Smrg#include <sys/param.h> 165943ecf206Smrg#if defined (BSD) 166043ecf206Smrg#if BSD == 43 166143ecf206Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 166243ecf206Smrg#else 166343ecf206Smrg#if BSD == 199006 166443ecf206Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 166543ecf206Smrg#else 166643ecf206Smrg printf ("vax-dec-bsd\n"); exit (0); 166743ecf206Smrg#endif 166843ecf206Smrg#endif 166943ecf206Smrg#else 167043ecf206Smrg printf ("vax-dec-bsd\n"); exit (0); 167143ecf206Smrg#endif 167243ecf206Smrg#else 167343ecf206Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 167443ecf206Smrg struct utsname un; 167543ecf206Smrg uname (&un); 167643ecf206Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 167743ecf206Smrg#else 167843ecf206Smrg printf ("vax-dec-ultrix\n"); exit (0); 167943ecf206Smrg#endif 168043ecf206Smrg#endif 168143ecf206Smrg#endif 168243ecf206Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 168343ecf206Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 168443ecf206Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 168543ecf206Smrg struct utsname *un; 168643ecf206Smrg uname (&un); 168743ecf206Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 168843ecf206Smrg#else 168943ecf206Smrg printf ("mips-dec-ultrix\n"); exit (0); 169043ecf206Smrg#endif 169143ecf206Smrg#endif 169243ecf206Smrg#endif 169343ecf206Smrg 169443ecf206Smrg#if defined (alliant) && defined (i860) 169543ecf206Smrg printf ("i860-alliant-bsd\n"); exit (0); 169643ecf206Smrg#endif 169743ecf206Smrg 169843ecf206Smrg exit (1); 169943ecf206Smrg} 170043ecf206SmrgEOF 170143ecf206Smrg 170243ecf206Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 170343ecf206Smrg { echo "$SYSTEM_NAME"; exit; } 170443ecf206Smrg 170543ecf206Smrg# Apollos put the system type in the environment. 170643ecf206Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 170743ecf206Smrg 17088846b520Smrgecho "$0: unable to guess system type" >&2 1709fd0c672fSmrg 171043ecf206Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 17118846b520Smrg mips:Linux | mips64:Linux) 17128846b520Smrg # If we got here on MIPS GNU/Linux, output extra information. 17138846b520Smrg cat >&2 <<EOF 1714fd0c672fSmrg 17158846b520SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 17168846b520Smrgthe system type. Please install a C compiler and try again. 1717fd0c672fSmrgEOF 17188846b520Smrg ;; 17198846b520Smrgesac 1720fd0c672fSmrg 1721fd0c672fSmrgcat >&2 <<EOF 1722fd0c672fSmrg 17238846b520SmrgThis script (version $timestamp), has failed to recognize the 17248846b520Smrgoperating system you are using. If your script is old, overwrite *all* 17258846b520Smrgcopies of config.guess and config.sub with the latest versions from: 1726fd0c672fSmrg 172743ecf206Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 172848e69166Smrgand 172943ecf206Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 173043ecf206SmrgEOF 173143ecf206Smrg 173243ecf206Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 173343ecf206Smrgthisyear=`date +%Y` 173443ecf206Smrg# shellcheck disable=SC2003 173543ecf206Smrgscript_age=`expr "$thisyear" - "$our_year"` 173643ecf206Smrgif test "$script_age" -lt 3 ; then 173743ecf206Smrg cat >&2 <<EOF 1738fd0c672fSmrg 17398846b520SmrgIf $0 has already been updated, send the following data and any 17408846b520Smrginformation you think might be pertinent to config-patches@gnu.org to 17418846b520Smrgprovide the necessary information to handle your system. 1742fd0c672fSmrg 1743fd0c672fSmrgconfig.guess timestamp = $timestamp 1744fd0c672fSmrg 1745fd0c672fSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1746fd0c672fSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1747fd0c672fSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1748fd0c672fSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1749fd0c672fSmrg 1750fd0c672fSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1751fd0c672fSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1752fd0c672fSmrg 1753fd0c672fSmrghostinfo = `(hostinfo) 2>/dev/null` 1754fd0c672fSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1755fd0c672fSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1756fd0c672fSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1757fd0c672fSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1758fd0c672fSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1759fd0c672fSmrg 17608846b520SmrgUNAME_MACHINE = "$UNAME_MACHINE" 17618846b520SmrgUNAME_RELEASE = "$UNAME_RELEASE" 17628846b520SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 17638846b520SmrgUNAME_VERSION = "$UNAME_VERSION" 1764fd0c672fSmrgEOF 176543ecf206Smrgfi 1766fd0c672fSmrg 1767fd0c672fSmrgexit 1 1768fd0c672fSmrg 1769fd0c672fSmrg# Local variables: 177043ecf206Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1771fd0c672fSmrg# time-stamp-start: "timestamp='" 1772fd0c672fSmrg# time-stamp-format: "%:y-%02m-%02d" 1773fd0c672fSmrg# time-stamp-end: "'" 1774fd0c672fSmrg# End: 1775