114c0a534Smrg#! /bin/sh 214c0a534Smrg# Attempt to guess a canonical system name. 37015785aSmrg# Copyright 1992-2024 Free Software Foundation, Inc. 414c0a534Smrg 5bdc460c5Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 6bdc460c5Smrg 77015785aSmrgtimestamp='2024-01-01' 814c0a534Smrg 914c0a534Smrg# This file is free software; you can redistribute it and/or modify it 1014c0a534Smrg# under the terms of the GNU General Public License as published by 117015785aSmrg# the Free Software Foundation, either version 3 of the License, or 1214c0a534Smrg# (at your option) any later version. 1314c0a534Smrg# 1414c0a534Smrg# This program is distributed in the hope that it will be useful, but 1514c0a534Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1614c0a534Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1714c0a534Smrg# General Public License for more details. 1814c0a534Smrg# 1914c0a534Smrg# You should have received a copy of the GNU General Public License 20bdc460c5Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 2114c0a534Smrg# 2214c0a534Smrg# As a special exception to the GNU General Public License, if you 2314c0a534Smrg# distribute this file as part of a program that contains a 2414c0a534Smrg# configuration script generated by Autoconf, you may include it under 2524047306Smrg# the same distribution terms that you use for the rest of that 2624047306Smrg# program. This Exception is an additional permission under section 7 2724047306Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2814c0a534Smrg# 2924047306Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 3014c0a534Smrg# 31576bae58Smrg# You can get the latest version of this script from: 32bdc460c5Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 3324047306Smrg# 3424047306Smrg# Please send patches to <config-patches@gnu.org>. 3524047306Smrg 3614c0a534Smrg 37bdc460c5Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 38bdc460c5Smrg# about features and limitations of the classic Bourne shell that were 39bdc460c5Smrg# superseded or lifted in POSIX. However, this script identifies a wide 40bdc460c5Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 41bdc460c5Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 42bdc460c5Smrg# have a pre-POSIX /bin/sh. 43bdc460c5Smrg 44bdc460c5Smrg 4514c0a534Smrgme=`echo "$0" | sed -e 's,.*/,,'` 4614c0a534Smrg 4714c0a534Smrgusage="\ 4814c0a534SmrgUsage: $0 [OPTION] 4914c0a534Smrg 507015785aSmrgOutput the configuration name of the system '$me' is run on. 5114c0a534Smrg 52bdc460c5SmrgOptions: 5314c0a534Smrg -h, --help print this help, then exit 5414c0a534Smrg -t, --time-stamp print date of last modification, then exit 5514c0a534Smrg -v, --version print version number, then exit 5614c0a534Smrg 5714c0a534SmrgReport bugs and patches to <config-patches@gnu.org>." 5814c0a534Smrg 5914c0a534Smrgversion="\ 6014c0a534SmrgGNU config.guess ($timestamp) 6114c0a534Smrg 6214c0a534SmrgOriginally written by Per Bothner. 637015785aSmrgCopyright 1992-2024 Free Software Foundation, Inc. 6414c0a534Smrg 6514c0a534SmrgThis is free software; see the source for copying conditions. There is NO 6614c0a534Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 6714c0a534Smrg 6814c0a534Smrghelp=" 697015785aSmrgTry '$me --help' for more information." 7014c0a534Smrg 7114c0a534Smrg# Parse command line 7214c0a534Smrgwhile test $# -gt 0 ; do 7314c0a534Smrg case $1 in 7414c0a534Smrg --time-stamp | --time* | -t ) 7514c0a534Smrg echo "$timestamp" ; exit ;; 7614c0a534Smrg --version | -v ) 7714c0a534Smrg echo "$version" ; exit ;; 7814c0a534Smrg --help | --h* | -h ) 7914c0a534Smrg echo "$usage"; exit ;; 8014c0a534Smrg -- ) # Stop option processing 8114c0a534Smrg shift; break ;; 8214c0a534Smrg - ) # Use stdin as input. 8314c0a534Smrg break ;; 8414c0a534Smrg -* ) 8514c0a534Smrg echo "$me: invalid option $1$help" >&2 8614c0a534Smrg exit 1 ;; 8714c0a534Smrg * ) 8814c0a534Smrg break ;; 8914c0a534Smrg esac 9014c0a534Smrgdone 9114c0a534Smrg 9214c0a534Smrgif test $# != 0; then 9314c0a534Smrg echo "$me: too many arguments$help" >&2 9414c0a534Smrg exit 1 9514c0a534Smrgfi 9614c0a534Smrg 97bdc460c5Smrg# Just in case it came from the environment. 98bdc460c5SmrgGUESS= 9914c0a534Smrg 10014c0a534Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 10114c0a534Smrg# compiler to aid in system detection is discouraged as it requires 10214c0a534Smrg# temporary files to be created and, as you can see below, it is a 10314c0a534Smrg# headache to deal with in a portable fashion. 10414c0a534Smrg 1057015785aSmrg# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still 1067015785aSmrg# use 'HOST_CC' if defined, but it is deprecated. 10714c0a534Smrg 10814c0a534Smrg# Portable tmp directory creation inspired by the Autoconf team. 10914c0a534Smrg 110bdc460c5Smrgtmp= 111bdc460c5Smrg# shellcheck disable=SC2172 112bdc460c5Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 113bdc460c5Smrg 114bdc460c5Smrgset_cc_for_build() { 115bdc460c5Smrg # prevent multiple calls if $tmp is already set 116bdc460c5Smrg test "$tmp" && return 0 117bdc460c5Smrg : "${TMPDIR=/tmp}" 118bdc460c5Smrg # shellcheck disable=SC2039,SC3028 119bdc460c5Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 120bdc460c5Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 121bdc460c5Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 122bdc460c5Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 123bdc460c5Smrg dummy=$tmp/dummy 124bdc460c5Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 125bdc460c5Smrg ,,) echo "int x;" > "$dummy.c" 126bdc460c5Smrg for driver in cc gcc c89 c99 ; do 127bdc460c5Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 128bdc460c5Smrg CC_FOR_BUILD=$driver 129bdc460c5Smrg break 130bdc460c5Smrg fi 131bdc460c5Smrg done 132bdc460c5Smrg if test x"$CC_FOR_BUILD" = x ; then 133bdc460c5Smrg CC_FOR_BUILD=no_compiler_found 134bdc460c5Smrg fi 135bdc460c5Smrg ;; 136bdc460c5Smrg ,,*) CC_FOR_BUILD=$CC ;; 137bdc460c5Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 138bdc460c5Smrg esac 139bdc460c5Smrg} 14014c0a534Smrg 14114c0a534Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 14214c0a534Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 143bdc460c5Smrgif test -f /.attbin/uname ; then 14414c0a534Smrg PATH=$PATH:/.attbin ; export PATH 14514c0a534Smrgfi 14614c0a534Smrg 14714c0a534SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 14814c0a534SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 149bdc460c5SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 15014c0a534SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 15114c0a534Smrg 152bdc460c5Smrgcase $UNAME_SYSTEM in 15324047306SmrgLinux|GNU|GNU/*) 154bdc460c5Smrg LIBC=unknown 15524047306Smrg 156bdc460c5Smrg set_cc_for_build 157bdc460c5Smrg cat <<-EOF > "$dummy.c" 1587015785aSmrg #if defined(__ANDROID__) 1597015785aSmrg LIBC=android 1607015785aSmrg #else 16124047306Smrg #include <features.h> 16224047306Smrg #if defined(__UCLIBC__) 16324047306Smrg LIBC=uclibc 16424047306Smrg #elif defined(__dietlibc__) 16524047306Smrg LIBC=dietlibc 166bdc460c5Smrg #elif defined(__GLIBC__) 16724047306Smrg LIBC=gnu 1687015785aSmrg #elif defined(__LLVM_LIBC__) 1697015785aSmrg LIBC=llvm 170bdc460c5Smrg #else 171bdc460c5Smrg #include <stdarg.h> 172bdc460c5Smrg /* First heuristic to detect musl libc. */ 173bdc460c5Smrg #ifdef __DEFINED_va_list 174bdc460c5Smrg LIBC=musl 175bdc460c5Smrg #endif 17624047306Smrg #endif 1777015785aSmrg #endif 17824047306Smrg EOF 179bdc460c5Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 180bdc460c5Smrg eval "$cc_set_libc" 181bdc460c5Smrg 182bdc460c5Smrg # Second heuristic to detect musl libc. 183bdc460c5Smrg if [ "$LIBC" = unknown ] && 184bdc460c5Smrg command -v ldd >/dev/null && 185bdc460c5Smrg ldd --version 2>&1 | grep -q ^musl; then 186bdc460c5Smrg LIBC=musl 187bdc460c5Smrg fi 188bdc460c5Smrg 189bdc460c5Smrg # If the system lacks a compiler, then just pick glibc. 190bdc460c5Smrg # We could probably try harder. 191bdc460c5Smrg if [ "$LIBC" = unknown ]; then 192bdc460c5Smrg LIBC=gnu 193bdc460c5Smrg fi 19424047306Smrg ;; 19524047306Smrgesac 19624047306Smrg 19714c0a534Smrg# Note: order is significant - the case branches are not exclusive. 19814c0a534Smrg 199bdc460c5Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 20014c0a534Smrg *:NetBSD:*:*) 20114c0a534Smrg # NetBSD (nbsd) targets should (where applicable) match one or 20224047306Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 20314c0a534Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 20414c0a534Smrg # switched to ELF, *-*-netbsd* would select the old 20514c0a534Smrg # object file format. This provides both forward 20614c0a534Smrg # compatibility and a consistent mechanism for selecting the 20714c0a534Smrg # object file format. 20814c0a534Smrg # 20914c0a534Smrg # Note: NetBSD doesn't particularly care about the vendor 21014c0a534Smrg # portion of the name. We always set it to "unknown". 211bdc460c5Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 212bdc460c5Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 213bdc460c5Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 214bdc460c5Smrg echo unknown)` 215bdc460c5Smrg case $UNAME_MACHINE_ARCH in 216bdc460c5Smrg aarch64eb) machine=aarch64_be-unknown ;; 21714c0a534Smrg armeb) machine=armeb-unknown ;; 21814c0a534Smrg arm*) machine=arm-unknown ;; 21914c0a534Smrg sh3el) machine=shl-unknown ;; 22014c0a534Smrg sh3eb) machine=sh-unknown ;; 221bf2eeab3Smrg sh5el) machine=sh5le-unknown ;; 222bdc460c5Smrg earmv*) 223bdc460c5Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 224bdc460c5Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 225bdc460c5Smrg machine=${arch}${endian}-unknown 226bdc460c5Smrg ;; 227bdc460c5Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 22814c0a534Smrg esac 22914c0a534Smrg # The Operating System including object format, if it has switched 230bdc460c5Smrg # to ELF recently (or will in the future) and ABI. 231bdc460c5Smrg case $UNAME_MACHINE_ARCH in 232bdc460c5Smrg earm*) 233bdc460c5Smrg os=netbsdelf 234bdc460c5Smrg ;; 23514c0a534Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 236bdc460c5Smrg set_cc_for_build 23714c0a534Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 238576bae58Smrg | grep -q __ELF__ 23914c0a534Smrg then 24014c0a534Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 24114c0a534Smrg # Return netbsd for either. FIX? 24214c0a534Smrg os=netbsd 24314c0a534Smrg else 24414c0a534Smrg os=netbsdelf 24514c0a534Smrg fi 24614c0a534Smrg ;; 24714c0a534Smrg *) 24824047306Smrg os=netbsd 24914c0a534Smrg ;; 25014c0a534Smrg esac 251bdc460c5Smrg # Determine ABI tags. 252bdc460c5Smrg case $UNAME_MACHINE_ARCH in 253bdc460c5Smrg earm*) 254bdc460c5Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 255bdc460c5Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 256bdc460c5Smrg ;; 257bdc460c5Smrg esac 25814c0a534Smrg # The OS release 25914c0a534Smrg # Debian GNU/NetBSD machines have a different userland, and 26014c0a534Smrg # thus, need a distinct triplet. However, they do not need 26114c0a534Smrg # kernel version information, so it can be replaced with a 26214c0a534Smrg # suitable tag, in the style of linux-gnu. 263bdc460c5Smrg case $UNAME_VERSION in 26414c0a534Smrg Debian*) 26514c0a534Smrg release='-gnu' 26614c0a534Smrg ;; 26714c0a534Smrg *) 268bdc460c5Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 26914c0a534Smrg ;; 27014c0a534Smrg esac 27114c0a534Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 27214c0a534Smrg # contains redundant information, the shorter form: 27314c0a534Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 274bdc460c5Smrg GUESS=$machine-${os}${release}${abi-} 275bdc460c5Smrg ;; 27624047306Smrg *:Bitrig:*:*) 27724047306Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 278bdc460c5Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 279bdc460c5Smrg ;; 28014c0a534Smrg *:OpenBSD:*:*) 28114c0a534Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 282bdc460c5Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 283bdc460c5Smrg ;; 284bdc460c5Smrg *:SecBSD:*:*) 285bdc460c5Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 286bdc460c5Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 287bdc460c5Smrg ;; 288bdc460c5Smrg *:LibertyBSD:*:*) 289bdc460c5Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 290bdc460c5Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 291bdc460c5Smrg ;; 292bdc460c5Smrg *:MidnightBSD:*:*) 293bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 294bdc460c5Smrg ;; 29514c0a534Smrg *:ekkoBSD:*:*) 296bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 297bdc460c5Smrg ;; 298bf2eeab3Smrg *:SolidBSD:*:*) 299bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 300bdc460c5Smrg ;; 301bdc460c5Smrg *:OS108:*:*) 302bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 303bdc460c5Smrg ;; 30414c0a534Smrg macppc:MirBSD:*:*) 305bdc460c5Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 306bdc460c5Smrg ;; 30714c0a534Smrg *:MirBSD:*:*) 308bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 309bdc460c5Smrg ;; 310bdc460c5Smrg *:Sortix:*:*) 311bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-sortix 312bdc460c5Smrg ;; 313bdc460c5Smrg *:Twizzler:*:*) 314bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 315bdc460c5Smrg ;; 316bdc460c5Smrg *:Redox:*:*) 317bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-redox 318bdc460c5Smrg ;; 319bdc460c5Smrg mips:OSF1:*.*) 320bdc460c5Smrg GUESS=mips-dec-osf1 321bdc460c5Smrg ;; 32214c0a534Smrg alpha:OSF1:*:*) 323bdc460c5Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 324bdc460c5Smrg trap '' 0 32514c0a534Smrg case $UNAME_RELEASE in 32614c0a534Smrg *4.0) 32714c0a534Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 32814c0a534Smrg ;; 32914c0a534Smrg *5.*) 33024047306Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 33114c0a534Smrg ;; 33214c0a534Smrg esac 33314c0a534Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 33414c0a534Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 33514c0a534Smrg # covers most systems running today. This code pipes the CPU 33614c0a534Smrg # types through head -n 1, so we only detect the type of CPU 0. 33714c0a534Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 338bdc460c5Smrg case $ALPHA_CPU_TYPE in 33914c0a534Smrg "EV4 (21064)") 340bdc460c5Smrg UNAME_MACHINE=alpha ;; 34114c0a534Smrg "EV4.5 (21064)") 342bdc460c5Smrg UNAME_MACHINE=alpha ;; 34314c0a534Smrg "LCA4 (21066/21068)") 344bdc460c5Smrg UNAME_MACHINE=alpha ;; 34514c0a534Smrg "EV5 (21164)") 346bdc460c5Smrg UNAME_MACHINE=alphaev5 ;; 34714c0a534Smrg "EV5.6 (21164A)") 348bdc460c5Smrg UNAME_MACHINE=alphaev56 ;; 34914c0a534Smrg "EV5.6 (21164PC)") 350bdc460c5Smrg UNAME_MACHINE=alphapca56 ;; 35114c0a534Smrg "EV5.7 (21164PC)") 352bdc460c5Smrg UNAME_MACHINE=alphapca57 ;; 35314c0a534Smrg "EV6 (21264)") 354bdc460c5Smrg UNAME_MACHINE=alphaev6 ;; 35514c0a534Smrg "EV6.7 (21264A)") 356bdc460c5Smrg UNAME_MACHINE=alphaev67 ;; 35714c0a534Smrg "EV6.8CB (21264C)") 358bdc460c5Smrg UNAME_MACHINE=alphaev68 ;; 35914c0a534Smrg "EV6.8AL (21264B)") 360bdc460c5Smrg UNAME_MACHINE=alphaev68 ;; 36114c0a534Smrg "EV6.8CX (21264D)") 362bdc460c5Smrg UNAME_MACHINE=alphaev68 ;; 36314c0a534Smrg "EV6.9A (21264/EV69A)") 364bdc460c5Smrg UNAME_MACHINE=alphaev69 ;; 36514c0a534Smrg "EV7 (21364)") 366bdc460c5Smrg UNAME_MACHINE=alphaev7 ;; 36714c0a534Smrg "EV7.9 (21364A)") 368bdc460c5Smrg UNAME_MACHINE=alphaev79 ;; 36914c0a534Smrg esac 37014c0a534Smrg # A Pn.n version is a patched version. 37114c0a534Smrg # A Vn.n version is a released version. 37214c0a534Smrg # A Tn.n version is a released field test version. 37314c0a534Smrg # A Xn.n version is an unreleased experimental baselevel. 37414c0a534Smrg # 1.2 uses "1.2" for uname -r. 375bdc460c5Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 376bdc460c5Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 377bdc460c5Smrg ;; 37814c0a534Smrg Amiga*:UNIX_System_V:4.0:*) 379bdc460c5Smrg GUESS=m68k-unknown-sysv4 380bdc460c5Smrg ;; 38114c0a534Smrg *:[Aa]miga[Oo][Ss]:*:*) 382bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 383bdc460c5Smrg ;; 38414c0a534Smrg *:[Mm]orph[Oo][Ss]:*:*) 385bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-morphos 386bdc460c5Smrg ;; 38714c0a534Smrg *:OS/390:*:*) 388bdc460c5Smrg GUESS=i370-ibm-openedition 389bdc460c5Smrg ;; 39014c0a534Smrg *:z/VM:*:*) 391bdc460c5Smrg GUESS=s390-ibm-zvmoe 392bdc460c5Smrg ;; 39314c0a534Smrg *:OS400:*:*) 394bdc460c5Smrg GUESS=powerpc-ibm-os400 395bdc460c5Smrg ;; 39614c0a534Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 397bdc460c5Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 398bdc460c5Smrg ;; 39924047306Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 400bdc460c5Smrg GUESS=arm-unknown-riscos 401bdc460c5Smrg ;; 40214c0a534Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 403bdc460c5Smrg GUESS=hppa1.1-hitachi-hiuxmpp 404bdc460c5Smrg ;; 40514c0a534Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 40614c0a534Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 407bdc460c5Smrg case `(/bin/universe) 2>/dev/null` in 408bdc460c5Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 409bdc460c5Smrg *) GUESS=pyramid-pyramid-bsd ;; 410bdc460c5Smrg esac 411bdc460c5Smrg ;; 41214c0a534Smrg NILE*:*:*:dcosx) 413bdc460c5Smrg GUESS=pyramid-pyramid-svr4 414bdc460c5Smrg ;; 41514c0a534Smrg DRS?6000:unix:4.0:6*) 416bdc460c5Smrg GUESS=sparc-icl-nx6 417bdc460c5Smrg ;; 41814c0a534Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 41914c0a534Smrg case `/usr/bin/uname -p` in 420bdc460c5Smrg sparc) GUESS=sparc-icl-nx7 ;; 421bdc460c5Smrg esac 422bdc460c5Smrg ;; 423bf2eeab3Smrg s390x:SunOS:*:*) 424bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 425bdc460c5Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 426bdc460c5Smrg ;; 42714c0a534Smrg sun4H:SunOS:5.*:*) 428bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 429bdc460c5Smrg GUESS=sparc-hal-solaris2$SUN_REL 430bdc460c5Smrg ;; 43114c0a534Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 432bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 433bdc460c5Smrg GUESS=sparc-sun-solaris2$SUN_REL 434bdc460c5Smrg ;; 435576bae58Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 436bdc460c5Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 437bdc460c5Smrg ;; 438bf2eeab3Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 439bdc460c5Smrg set_cc_for_build 440bdc460c5Smrg SUN_ARCH=i386 441bf2eeab3Smrg # If there is a compiler, see if it is configured for 64-bit objects. 442bf2eeab3Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 443bf2eeab3Smrg # This test works for both compilers. 444bdc460c5Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 445bf2eeab3Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4467015785aSmrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 447bf2eeab3Smrg grep IS_64BIT_ARCH >/dev/null 448bf2eeab3Smrg then 449bdc460c5Smrg SUN_ARCH=x86_64 450bf2eeab3Smrg fi 451bf2eeab3Smrg fi 452bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 453bdc460c5Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 454bdc460c5Smrg ;; 45514c0a534Smrg sun4*:SunOS:6*:*) 45614c0a534Smrg # According to config.sub, this is the proper way to canonicalize 45714c0a534Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 45814c0a534Smrg # it's likely to be more like Solaris than SunOS4. 459bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 460bdc460c5Smrg GUESS=sparc-sun-solaris3$SUN_REL 461bdc460c5Smrg ;; 46214c0a534Smrg sun4*:SunOS:*:*) 463bdc460c5Smrg case `/usr/bin/arch -k` in 46414c0a534Smrg Series*|S4*) 46514c0a534Smrg UNAME_RELEASE=`uname -v` 46614c0a534Smrg ;; 46714c0a534Smrg esac 4687015785aSmrg # Japanese Language versions have a version number like '4.1.3-JL'. 469bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 470bdc460c5Smrg GUESS=sparc-sun-sunos$SUN_REL 471bdc460c5Smrg ;; 47214c0a534Smrg sun3*:SunOS:*:*) 473bdc460c5Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 474bdc460c5Smrg ;; 47514c0a534Smrg sun*:*:4.2BSD:*) 47614c0a534Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 477bdc460c5Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 478bdc460c5Smrg case `/bin/arch` in 47914c0a534Smrg sun3) 480bdc460c5Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 48114c0a534Smrg ;; 48214c0a534Smrg sun4) 483bdc460c5Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 48414c0a534Smrg ;; 48514c0a534Smrg esac 486bdc460c5Smrg ;; 48714c0a534Smrg aushp:SunOS:*:*) 488bdc460c5Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 489bdc460c5Smrg ;; 49014c0a534Smrg # The situation for MiNT is a little confusing. The machine name 49114c0a534Smrg # can be virtually everything (everything which is not 49214c0a534Smrg # "atarist" or "atariste" at least should have a processor 49314c0a534Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 49414c0a534Smrg # to the lowercase version "mint" (or "freemint"). Finally 49514c0a534Smrg # the system name "TOS" denotes a system which is actually not 49614c0a534Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 49714c0a534Smrg # be no problem. 49814c0a534Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 499bdc460c5Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 500bdc460c5Smrg ;; 50114c0a534Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 502bdc460c5Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 503bdc460c5Smrg ;; 50414c0a534Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 505bdc460c5Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 506bdc460c5Smrg ;; 50714c0a534Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 508bdc460c5Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 509bdc460c5Smrg ;; 51014c0a534Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 511bdc460c5Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 512bdc460c5Smrg ;; 51314c0a534Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 514bdc460c5Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 515bdc460c5Smrg ;; 51614c0a534Smrg m68k:machten:*:*) 517bdc460c5Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 518bdc460c5Smrg ;; 51914c0a534Smrg powerpc:machten:*:*) 520bdc460c5Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 521bdc460c5Smrg ;; 52214c0a534Smrg RISC*:Mach:*:*) 523bdc460c5Smrg GUESS=mips-dec-mach_bsd4.3 524bdc460c5Smrg ;; 52514c0a534Smrg RISC*:ULTRIX:*:*) 526bdc460c5Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 527bdc460c5Smrg ;; 52814c0a534Smrg VAX*:ULTRIX*:*:*) 529bdc460c5Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 530bdc460c5Smrg ;; 53114c0a534Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 532bdc460c5Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 533bdc460c5Smrg ;; 53414c0a534Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 535bdc460c5Smrg set_cc_for_build 536bdc460c5Smrg sed 's/^ //' << EOF > "$dummy.c" 53714c0a534Smrg#ifdef __cplusplus 53814c0a534Smrg#include <stdio.h> /* for printf() prototype */ 53914c0a534Smrg int main (int argc, char *argv[]) { 54014c0a534Smrg#else 54114c0a534Smrg int main (argc, argv) int argc; char *argv[]; { 54214c0a534Smrg#endif 54314c0a534Smrg #if defined (host_mips) && defined (MIPSEB) 54414c0a534Smrg #if defined (SYSTYPE_SYSV) 545bdc460c5Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 54614c0a534Smrg #endif 54714c0a534Smrg #if defined (SYSTYPE_SVR4) 548bdc460c5Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 54914c0a534Smrg #endif 55014c0a534Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 551bdc460c5Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 55214c0a534Smrg #endif 55314c0a534Smrg #endif 55414c0a534Smrg exit (-1); 55514c0a534Smrg } 55614c0a534SmrgEOF 557bdc460c5Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 558bdc460c5Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 559bdc460c5Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 56014c0a534Smrg { echo "$SYSTEM_NAME"; exit; } 561bdc460c5Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 562bdc460c5Smrg ;; 56314c0a534Smrg Motorola:PowerMAX_OS:*:*) 564bdc460c5Smrg GUESS=powerpc-motorola-powermax 565bdc460c5Smrg ;; 56614c0a534Smrg Motorola:*:4.3:PL8-*) 567bdc460c5Smrg GUESS=powerpc-harris-powermax 568bdc460c5Smrg ;; 56914c0a534Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 570bdc460c5Smrg GUESS=powerpc-harris-powermax 571bdc460c5Smrg ;; 57214c0a534Smrg Night_Hawk:Power_UNIX:*:*) 573bdc460c5Smrg GUESS=powerpc-harris-powerunix 574bdc460c5Smrg ;; 57514c0a534Smrg m88k:CX/UX:7*:*) 576bdc460c5Smrg GUESS=m88k-harris-cxux7 577bdc460c5Smrg ;; 57814c0a534Smrg m88k:*:4*:R4*) 579bdc460c5Smrg GUESS=m88k-motorola-sysv4 580bdc460c5Smrg ;; 58114c0a534Smrg m88k:*:3*:R3*) 582bdc460c5Smrg GUESS=m88k-motorola-sysv3 583bdc460c5Smrg ;; 58414c0a534Smrg AViiON:dgux:*:*) 58524047306Smrg # DG/UX returns AViiON for all architectures 58624047306Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 587bdc460c5Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 58814c0a534Smrg then 589bdc460c5Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 590bdc460c5Smrg test "$TARGET_BINARY_INTERFACE"x = x 59114c0a534Smrg then 592bdc460c5Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 59314c0a534Smrg else 594bdc460c5Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 59514c0a534Smrg fi 59614c0a534Smrg else 597bdc460c5Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 59814c0a534Smrg fi 599bdc460c5Smrg ;; 60014c0a534Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 601bdc460c5Smrg GUESS=m88k-dolphin-sysv3 602bdc460c5Smrg ;; 60314c0a534Smrg M88*:*:R3*:*) 60414c0a534Smrg # Delta 88k system running SVR3 605bdc460c5Smrg GUESS=m88k-motorola-sysv3 606bdc460c5Smrg ;; 60714c0a534Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 608bdc460c5Smrg GUESS=m88k-tektronix-sysv3 609bdc460c5Smrg ;; 61014c0a534Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 611bdc460c5Smrg GUESS=m68k-tektronix-bsd 612bdc460c5Smrg ;; 61314c0a534Smrg *:IRIX*:*:*) 614bdc460c5Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 615bdc460c5Smrg GUESS=mips-sgi-irix$IRIX_REL 616bdc460c5Smrg ;; 61714c0a534Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 618bdc460c5Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 619bdc460c5Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 62014c0a534Smrg i*86:AIX:*:*) 621bdc460c5Smrg GUESS=i386-ibm-aix 622bdc460c5Smrg ;; 62314c0a534Smrg ia64:AIX:*:*) 624bdc460c5Smrg if test -x /usr/bin/oslevel ; then 62514c0a534Smrg IBM_REV=`/usr/bin/oslevel` 62614c0a534Smrg else 627bdc460c5Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 62814c0a534Smrg fi 629bdc460c5Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 630bdc460c5Smrg ;; 63114c0a534Smrg *:AIX:2:3) 63214c0a534Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 633bdc460c5Smrg set_cc_for_build 634bdc460c5Smrg sed 's/^ //' << EOF > "$dummy.c" 63514c0a534Smrg #include <sys/systemcfg.h> 63614c0a534Smrg 63714c0a534Smrg main() 63814c0a534Smrg { 63914c0a534Smrg if (!__power_pc()) 64014c0a534Smrg exit(1); 64114c0a534Smrg puts("powerpc-ibm-aix3.2.5"); 64214c0a534Smrg exit(0); 64314c0a534Smrg } 64414c0a534SmrgEOF 645bdc460c5Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 64614c0a534Smrg then 647bdc460c5Smrg GUESS=$SYSTEM_NAME 64814c0a534Smrg else 649bdc460c5Smrg GUESS=rs6000-ibm-aix3.2.5 65014c0a534Smrg fi 65114c0a534Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 652bdc460c5Smrg GUESS=rs6000-ibm-aix3.2.4 65314c0a534Smrg else 654bdc460c5Smrg GUESS=rs6000-ibm-aix3.2 65514c0a534Smrg fi 656bdc460c5Smrg ;; 657576bae58Smrg *:AIX:*:[4567]) 65814c0a534Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 659bdc460c5Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 66014c0a534Smrg IBM_ARCH=rs6000 66114c0a534Smrg else 66214c0a534Smrg IBM_ARCH=powerpc 66314c0a534Smrg fi 664bdc460c5Smrg if test -x /usr/bin/lslpp ; then 665bdc460c5Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66624047306Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 66714c0a534Smrg else 668bdc460c5Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 66914c0a534Smrg fi 670bdc460c5Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 671bdc460c5Smrg ;; 67214c0a534Smrg *:AIX:*:*) 673bdc460c5Smrg GUESS=rs6000-ibm-aix 674bdc460c5Smrg ;; 675bdc460c5Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 676bdc460c5Smrg GUESS=romp-ibm-bsd4.4 677bdc460c5Smrg ;; 67814c0a534Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 679bdc460c5Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 680bdc460c5Smrg ;; # report: romp-ibm BSD 4.3 68114c0a534Smrg *:BOSX:*:*) 682bdc460c5Smrg GUESS=rs6000-bull-bosx 683bdc460c5Smrg ;; 68414c0a534Smrg DPX/2?00:B.O.S.:*:*) 685bdc460c5Smrg GUESS=m68k-bull-sysv3 686bdc460c5Smrg ;; 68714c0a534Smrg 9000/[34]??:4.3bsd:1.*:*) 688bdc460c5Smrg GUESS=m68k-hp-bsd 689bdc460c5Smrg ;; 69014c0a534Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 691bdc460c5Smrg GUESS=m68k-hp-bsd4.4 692bdc460c5Smrg ;; 69314c0a534Smrg 9000/[34678]??:HP-UX:*:*) 694bdc460c5Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 695bdc460c5Smrg case $UNAME_MACHINE in 696bdc460c5Smrg 9000/31?) HP_ARCH=m68000 ;; 697bdc460c5Smrg 9000/[34]??) HP_ARCH=m68k ;; 69814c0a534Smrg 9000/[678][0-9][0-9]) 699bdc460c5Smrg if test -x /usr/bin/getconf; then 70014c0a534Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 70124047306Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 702bdc460c5Smrg case $sc_cpu_version in 703bdc460c5Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 704bdc460c5Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 70524047306Smrg 532) # CPU_PA_RISC2_0 706bdc460c5Smrg case $sc_kernel_bits in 707bdc460c5Smrg 32) HP_ARCH=hppa2.0n ;; 708bdc460c5Smrg 64) HP_ARCH=hppa2.0w ;; 709bdc460c5Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 71024047306Smrg esac ;; 71124047306Smrg esac 71214c0a534Smrg fi 713bdc460c5Smrg if test "$HP_ARCH" = ""; then 714bdc460c5Smrg set_cc_for_build 715bdc460c5Smrg sed 's/^ //' << EOF > "$dummy.c" 71614c0a534Smrg 71724047306Smrg #define _HPUX_SOURCE 71824047306Smrg #include <stdlib.h> 71924047306Smrg #include <unistd.h> 72014c0a534Smrg 72124047306Smrg int main () 72224047306Smrg { 72324047306Smrg #if defined(_SC_KERNEL_BITS) 72424047306Smrg long bits = sysconf(_SC_KERNEL_BITS); 72524047306Smrg #endif 72624047306Smrg long cpu = sysconf (_SC_CPU_VERSION); 72714c0a534Smrg 72824047306Smrg switch (cpu) 72924047306Smrg { 73024047306Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 73124047306Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 73224047306Smrg case CPU_PA_RISC2_0: 73324047306Smrg #if defined(_SC_KERNEL_BITS) 73424047306Smrg switch (bits) 73524047306Smrg { 73624047306Smrg case 64: puts ("hppa2.0w"); break; 73724047306Smrg case 32: puts ("hppa2.0n"); break; 73824047306Smrg default: puts ("hppa2.0"); break; 73924047306Smrg } break; 74024047306Smrg #else /* !defined(_SC_KERNEL_BITS) */ 74124047306Smrg puts ("hppa2.0"); break; 74224047306Smrg #endif 74324047306Smrg default: puts ("hppa1.0"); break; 74424047306Smrg } 74524047306Smrg exit (0); 74624047306Smrg } 74714c0a534SmrgEOF 748bdc460c5Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 74914c0a534Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 75014c0a534Smrg fi ;; 75114c0a534Smrg esac 752bdc460c5Smrg if test "$HP_ARCH" = hppa2.0w 75314c0a534Smrg then 754bdc460c5Smrg set_cc_for_build 75514c0a534Smrg 75614c0a534Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 75714c0a534Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 75814c0a534Smrg # generating 64-bit code. GNU and HP use different nomenclature: 75914c0a534Smrg # 76014c0a534Smrg # $ CC_FOR_BUILD=cc ./config.guess 76114c0a534Smrg # => hppa2.0w-hp-hpux11.23 76214c0a534Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 76314c0a534Smrg # => hppa64-hp-hpux11.23 76414c0a534Smrg 765bdc460c5Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 766576bae58Smrg grep -q __LP64__ 76714c0a534Smrg then 768bdc460c5Smrg HP_ARCH=hppa2.0w 76914c0a534Smrg else 770bdc460c5Smrg HP_ARCH=hppa64 77114c0a534Smrg fi 77214c0a534Smrg fi 773bdc460c5Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 774bdc460c5Smrg ;; 77514c0a534Smrg ia64:HP-UX:*:*) 776bdc460c5Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 777bdc460c5Smrg GUESS=ia64-hp-hpux$HPUX_REV 778bdc460c5Smrg ;; 77914c0a534Smrg 3050*:HI-UX:*:*) 780bdc460c5Smrg set_cc_for_build 781bdc460c5Smrg sed 's/^ //' << EOF > "$dummy.c" 78214c0a534Smrg #include <unistd.h> 78314c0a534Smrg int 78414c0a534Smrg main () 78514c0a534Smrg { 78614c0a534Smrg long cpu = sysconf (_SC_CPU_VERSION); 78714c0a534Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 78814c0a534Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 78914c0a534Smrg results, however. */ 79014c0a534Smrg if (CPU_IS_PA_RISC (cpu)) 79114c0a534Smrg { 79214c0a534Smrg switch (cpu) 79314c0a534Smrg { 79414c0a534Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 79514c0a534Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 79614c0a534Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 79714c0a534Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 79814c0a534Smrg } 79914c0a534Smrg } 80014c0a534Smrg else if (CPU_IS_HP_MC68K (cpu)) 80114c0a534Smrg puts ("m68k-hitachi-hiuxwe2"); 80214c0a534Smrg else puts ("unknown-hitachi-hiuxwe2"); 80314c0a534Smrg exit (0); 80414c0a534Smrg } 80514c0a534SmrgEOF 806bdc460c5Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 80714c0a534Smrg { echo "$SYSTEM_NAME"; exit; } 808bdc460c5Smrg GUESS=unknown-hitachi-hiuxwe2 809bdc460c5Smrg ;; 810bdc460c5Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 811bdc460c5Smrg GUESS=hppa1.1-hp-bsd 812bdc460c5Smrg ;; 81314c0a534Smrg 9000/8??:4.3bsd:*:*) 814bdc460c5Smrg GUESS=hppa1.0-hp-bsd 815bdc460c5Smrg ;; 81614c0a534Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 817bdc460c5Smrg GUESS=hppa1.0-hp-mpeix 818bdc460c5Smrg ;; 819bdc460c5Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 820bdc460c5Smrg GUESS=hppa1.1-hp-osf 821bdc460c5Smrg ;; 82214c0a534Smrg hp8??:OSF1:*:*) 823bdc460c5Smrg GUESS=hppa1.0-hp-osf 824bdc460c5Smrg ;; 82514c0a534Smrg i*86:OSF1:*:*) 826bdc460c5Smrg if test -x /usr/sbin/sysversion ; then 827bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 82814c0a534Smrg else 829bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-osf1 83014c0a534Smrg fi 831bdc460c5Smrg ;; 83214c0a534Smrg parisc*:Lites*:*:*) 833bdc460c5Smrg GUESS=hppa1.1-hp-lites 834bdc460c5Smrg ;; 83514c0a534Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 836bdc460c5Smrg GUESS=c1-convex-bsd 837bdc460c5Smrg ;; 83814c0a534Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 83914c0a534Smrg if getsysinfo -f scalar_acc 84014c0a534Smrg then echo c32-convex-bsd 84114c0a534Smrg else echo c2-convex-bsd 84214c0a534Smrg fi 84324047306Smrg exit ;; 84414c0a534Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 845bdc460c5Smrg GUESS=c34-convex-bsd 846bdc460c5Smrg ;; 84714c0a534Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 848bdc460c5Smrg GUESS=c38-convex-bsd 849bdc460c5Smrg ;; 85014c0a534Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 851bdc460c5Smrg GUESS=c4-convex-bsd 852bdc460c5Smrg ;; 85314c0a534Smrg CRAY*Y-MP:*:*:*) 854bdc460c5Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 855bdc460c5Smrg GUESS=ymp-cray-unicos$CRAY_REL 856bdc460c5Smrg ;; 85714c0a534Smrg CRAY*[A-Z]90:*:*:*) 858bdc460c5Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 85914c0a534Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 86014c0a534Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 86114c0a534Smrg -e 's/\.[^.]*$/.X/' 86214c0a534Smrg exit ;; 86314c0a534Smrg CRAY*TS:*:*:*) 864bdc460c5Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 865bdc460c5Smrg GUESS=t90-cray-unicos$CRAY_REL 866bdc460c5Smrg ;; 86714c0a534Smrg CRAY*T3E:*:*:*) 868bdc460c5Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 869bdc460c5Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 870bdc460c5Smrg ;; 87114c0a534Smrg CRAY*SV1:*:*:*) 872bdc460c5Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 873bdc460c5Smrg GUESS=sv1-cray-unicos$CRAY_REL 874bdc460c5Smrg ;; 87514c0a534Smrg *:UNICOS/mp:*:*) 876bdc460c5Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 877bdc460c5Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 878bdc460c5Smrg ;; 87914c0a534Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 880bdc460c5Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 881bdc460c5Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 882bdc460c5Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 883bdc460c5Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 884bdc460c5Smrg ;; 88514c0a534Smrg 5000:UNIX_System_V:4.*:*) 886bdc460c5Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 887bdc460c5Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 888bdc460c5Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 889bdc460c5Smrg ;; 89014c0a534Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 891bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 892bdc460c5Smrg ;; 89314c0a534Smrg sparc*:BSD/OS:*:*) 894bdc460c5Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 895bdc460c5Smrg ;; 89614c0a534Smrg *:BSD/OS:*:*) 897bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 898bdc460c5Smrg ;; 899bdc460c5Smrg arm:FreeBSD:*:*) 900bdc460c5Smrg UNAME_PROCESSOR=`uname -p` 901bdc460c5Smrg set_cc_for_build 902bdc460c5Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 903bdc460c5Smrg | grep -q __ARM_PCS_VFP 904bdc460c5Smrg then 905bdc460c5Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 906bdc460c5Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 907bdc460c5Smrg else 908bdc460c5Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 909bdc460c5Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 910bdc460c5Smrg fi 911bdc460c5Smrg ;; 91214c0a534Smrg *:FreeBSD:*:*) 9137015785aSmrg UNAME_PROCESSOR=`uname -p` 914bdc460c5Smrg case $UNAME_PROCESSOR in 915bf2eeab3Smrg amd64) 916bdc460c5Smrg UNAME_PROCESSOR=x86_64 ;; 917bdc460c5Smrg i386) 918bdc460c5Smrg UNAME_PROCESSOR=i586 ;; 919bf2eeab3Smrg esac 920bdc460c5Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 921bdc460c5Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 922bdc460c5Smrg ;; 92314c0a534Smrg i*:CYGWIN*:*) 924bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-cygwin 925bdc460c5Smrg ;; 92624047306Smrg *:MINGW64*:*) 927bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-mingw64 928bdc460c5Smrg ;; 929bf2eeab3Smrg *:MINGW*:*) 930bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-mingw32 931bdc460c5Smrg ;; 93224047306Smrg *:MSYS*:*) 933bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-msys 934bdc460c5Smrg ;; 93514c0a534Smrg i*:PW*:*) 936bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-pw32 937bdc460c5Smrg ;; 9387015785aSmrg *:SerenityOS:*:*) 9397015785aSmrg GUESS=$UNAME_MACHINE-pc-serenity 9407015785aSmrg ;; 941576bae58Smrg *:Interix*:*) 942bdc460c5Smrg case $UNAME_MACHINE in 943bf2eeab3Smrg x86) 944bdc460c5Smrg GUESS=i586-pc-interix$UNAME_RELEASE 945bdc460c5Smrg ;; 946576bae58Smrg authenticamd | genuineintel | EM64T) 947bdc460c5Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 948bdc460c5Smrg ;; 949bf2eeab3Smrg IA64) 950bdc460c5Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 951bdc460c5Smrg ;; 952bf2eeab3Smrg esac ;; 95314c0a534Smrg i*:UWIN*:*) 954bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-uwin 955bdc460c5Smrg ;; 956bf2eeab3Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 957bdc460c5Smrg GUESS=x86_64-pc-cygwin 958bdc460c5Smrg ;; 95914c0a534Smrg prep*:SunOS:5.*:*) 960bdc460c5Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 961bdc460c5Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 962bdc460c5Smrg ;; 96314c0a534Smrg *:GNU:*:*) 96414c0a534Smrg # the GNU system 965bdc460c5Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 966bdc460c5Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 967bdc460c5Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 968bdc460c5Smrg ;; 96914c0a534Smrg *:GNU/*:*:*) 97014c0a534Smrg # other systems with GNU libc and userland 971bdc460c5Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 972bdc460c5Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 973bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 974bdc460c5Smrg ;; 9757015785aSmrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 9767015785aSmrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 9777015785aSmrg ;; 9787015785aSmrg *:[Mm]anagarm:*:*) 9797015785aSmrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 9807015785aSmrg ;; 981bdc460c5Smrg *:Minix:*:*) 982bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-minix 983bdc460c5Smrg ;; 98424047306Smrg aarch64:Linux:*:*) 9857015785aSmrg set_cc_for_build 9867015785aSmrg CPU=$UNAME_MACHINE 9877015785aSmrg LIBCABI=$LIBC 9887015785aSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 9897015785aSmrg ABI=64 9907015785aSmrg sed 's/^ //' << EOF > "$dummy.c" 9917015785aSmrg #ifdef __ARM_EABI__ 9927015785aSmrg #ifdef __ARM_PCS_VFP 9937015785aSmrg ABI=eabihf 9947015785aSmrg #else 9957015785aSmrg ABI=eabi 9967015785aSmrg #endif 9977015785aSmrg #endif 9987015785aSmrgEOF 9997015785aSmrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 10007015785aSmrg eval "$cc_set_abi" 10017015785aSmrg case $ABI in 10027015785aSmrg eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; 10037015785aSmrg esac 10047015785aSmrg fi 10057015785aSmrg GUESS=$CPU-unknown-linux-$LIBCABI 1006bdc460c5Smrg ;; 100724047306Smrg aarch64_be:Linux:*:*) 100824047306Smrg UNAME_MACHINE=aarch64_be 1009bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1010bdc460c5Smrg ;; 1011576bae58Smrg alpha:Linux:*:*) 1012bdc460c5Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 1013576bae58Smrg EV5) UNAME_MACHINE=alphaev5 ;; 1014576bae58Smrg EV56) UNAME_MACHINE=alphaev56 ;; 1015576bae58Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 1016576bae58Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 1017576bae58Smrg EV6) UNAME_MACHINE=alphaev6 ;; 1018576bae58Smrg EV67) UNAME_MACHINE=alphaev67 ;; 1019576bae58Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 102024047306Smrg esac 1021576bae58Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 1022bdc460c5Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 1023bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1024bdc460c5Smrg ;; 1025bdc460c5Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 1026bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1027bdc460c5Smrg ;; 102814c0a534Smrg arm*:Linux:*:*) 1029bdc460c5Smrg set_cc_for_build 1030bf2eeab3Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1031bf2eeab3Smrg | grep -q __ARM_EABI__ 1032bf2eeab3Smrg then 1033bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1034bf2eeab3Smrg else 103524047306Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 103624047306Smrg | grep -q __ARM_PCS_VFP 103724047306Smrg then 1038bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 103924047306Smrg else 1040bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 104124047306Smrg fi 1042bf2eeab3Smrg fi 1043bdc460c5Smrg ;; 1044bf2eeab3Smrg avr32*:Linux:*:*) 1045bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1046bdc460c5Smrg ;; 104714c0a534Smrg cris:Linux:*:*) 1048bdc460c5Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1049bdc460c5Smrg ;; 105014c0a534Smrg crisv32:Linux:*:*) 1051bdc460c5Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1052bdc460c5Smrg ;; 1053bdc460c5Smrg e2k:Linux:*:*) 1054bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1055bdc460c5Smrg ;; 105614c0a534Smrg frv:Linux:*:*) 1057bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1058bdc460c5Smrg ;; 105924047306Smrg hexagon:Linux:*:*) 1060bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1061bdc460c5Smrg ;; 1062576bae58Smrg i*86:Linux:*:*) 1063bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 1064bdc460c5Smrg ;; 106514c0a534Smrg ia64:Linux:*:*) 1066bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1067bdc460c5Smrg ;; 1068bdc460c5Smrg k1om:Linux:*:*) 1069bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1070bdc460c5Smrg ;; 10717015785aSmrg kvx:Linux:*:*) 10727015785aSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10737015785aSmrg ;; 10747015785aSmrg kvx:cos:*:*) 10757015785aSmrg GUESS=$UNAME_MACHINE-unknown-cos 10767015785aSmrg ;; 10777015785aSmrg kvx:mbr:*:*) 10787015785aSmrg GUESS=$UNAME_MACHINE-unknown-mbr 10797015785aSmrg ;; 10807015785aSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 1081bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1082bdc460c5Smrg ;; 108314c0a534Smrg m32r*:Linux:*:*) 1084bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1085bdc460c5Smrg ;; 108614c0a534Smrg m68*:Linux:*:*) 1087bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1088bdc460c5Smrg ;; 1089576bae58Smrg mips:Linux:*:* | mips64:Linux:*:*) 1090bdc460c5Smrg set_cc_for_build 1091bdc460c5Smrg IS_GLIBC=0 1092bdc460c5Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 1093bdc460c5Smrg sed 's/^ //' << EOF > "$dummy.c" 109414c0a534Smrg #undef CPU 1095bdc460c5Smrg #undef mips 1096bdc460c5Smrg #undef mipsel 1097bdc460c5Smrg #undef mips64 1098bdc460c5Smrg #undef mips64el 1099bdc460c5Smrg #if ${IS_GLIBC} && defined(_ABI64) 1100bdc460c5Smrg LIBCABI=gnuabi64 1101bdc460c5Smrg #else 1102bdc460c5Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1103bdc460c5Smrg LIBCABI=gnuabin32 1104bdc460c5Smrg #else 1105bdc460c5Smrg LIBCABI=${LIBC} 1106bdc460c5Smrg #endif 1107bdc460c5Smrg #endif 1108bdc460c5Smrg 1109bdc460c5Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1110bdc460c5Smrg CPU=mipsisa64r6 1111bdc460c5Smrg #else 1112bdc460c5Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1113bdc460c5Smrg CPU=mipsisa32r6 1114bdc460c5Smrg #else 1115bdc460c5Smrg #if defined(__mips64) 1116bdc460c5Smrg CPU=mips64 1117bdc460c5Smrg #else 1118bdc460c5Smrg CPU=mips 1119bdc460c5Smrg #endif 1120bdc460c5Smrg #endif 1121bdc460c5Smrg #endif 1122bdc460c5Smrg 112314c0a534Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1124bdc460c5Smrg MIPS_ENDIAN=el 112514c0a534Smrg #else 112614c0a534Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1127bdc460c5Smrg MIPS_ENDIAN= 112814c0a534Smrg #else 1129bdc460c5Smrg MIPS_ENDIAN= 113014c0a534Smrg #endif 113114c0a534Smrg #endif 113214c0a534SmrgEOF 1133bdc460c5Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 1134bdc460c5Smrg eval "$cc_set_vars" 1135bdc460c5Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1136bdc460c5Smrg ;; 1137bdc460c5Smrg mips64el:Linux:*:*) 1138bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113914c0a534Smrg ;; 114024047306Smrg openrisc*:Linux:*:*) 1141bdc460c5Smrg GUESS=or1k-unknown-linux-$LIBC 1142bdc460c5Smrg ;; 114324047306Smrg or32:Linux:*:* | or1k*:Linux:*:*) 1144bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1145bdc460c5Smrg ;; 1146bf2eeab3Smrg padre:Linux:*:*) 1147bdc460c5Smrg GUESS=sparc-unknown-linux-$LIBC 1148bdc460c5Smrg ;; 1149576bae58Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1150bdc460c5Smrg GUESS=hppa64-unknown-linux-$LIBC 1151bdc460c5Smrg ;; 115214c0a534Smrg parisc:Linux:*:* | hppa:Linux:*:*) 115314c0a534Smrg # Look for CPU level 115414c0a534Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1155bdc460c5Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 1156bdc460c5Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 1157bdc460c5Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 115814c0a534Smrg esac 1159bdc460c5Smrg ;; 1160576bae58Smrg ppc64:Linux:*:*) 1161bdc460c5Smrg GUESS=powerpc64-unknown-linux-$LIBC 1162bdc460c5Smrg ;; 1163576bae58Smrg ppc:Linux:*:*) 1164bdc460c5Smrg GUESS=powerpc-unknown-linux-$LIBC 1165bdc460c5Smrg ;; 116624047306Smrg ppc64le:Linux:*:*) 1167bdc460c5Smrg GUESS=powerpc64le-unknown-linux-$LIBC 1168bdc460c5Smrg ;; 116924047306Smrg ppcle:Linux:*:*) 1170bdc460c5Smrg GUESS=powerpcle-unknown-linux-$LIBC 1171bdc460c5Smrg ;; 1172bdc460c5Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1173bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1174bdc460c5Smrg ;; 117514c0a534Smrg s390:Linux:*:* | s390x:Linux:*:*) 1176bdc460c5Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 1177bdc460c5Smrg ;; 117814c0a534Smrg sh64*:Linux:*:*) 1179bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1180bdc460c5Smrg ;; 118114c0a534Smrg sh*:Linux:*:*) 1182bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1183bdc460c5Smrg ;; 118414c0a534Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 1185bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1186bdc460c5Smrg ;; 1187576bae58Smrg tile*:Linux:*:*) 1188bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1189bdc460c5Smrg ;; 1190bf2eeab3Smrg vax:Linux:*:*) 1191bdc460c5Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 1192bdc460c5Smrg ;; 119314c0a534Smrg x86_64:Linux:*:*) 1194bdc460c5Smrg set_cc_for_build 11957015785aSmrg CPU=$UNAME_MACHINE 1196bdc460c5Smrg LIBCABI=$LIBC 1197bdc460c5Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 11987015785aSmrg ABI=64 11997015785aSmrg sed 's/^ //' << EOF > "$dummy.c" 12007015785aSmrg #ifdef __i386__ 12017015785aSmrg ABI=x86 12027015785aSmrg #else 12037015785aSmrg #ifdef __ILP32__ 12047015785aSmrg ABI=x32 12057015785aSmrg #endif 12067015785aSmrg #endif 12077015785aSmrgEOF 12087015785aSmrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 12097015785aSmrg eval "$cc_set_abi" 12107015785aSmrg case $ABI in 12117015785aSmrg x86) CPU=i686 ;; 12127015785aSmrg x32) LIBCABI=${LIBC}x32 ;; 12137015785aSmrg esac 1214bdc460c5Smrg fi 12157015785aSmrg GUESS=$CPU-pc-linux-$LIBCABI 1216bdc460c5Smrg ;; 1217bf2eeab3Smrg xtensa*:Linux:*:*) 1218bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1219bdc460c5Smrg ;; 122014c0a534Smrg i*86:DYNIX/ptx:4*:*) 122114c0a534Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 122214c0a534Smrg # earlier versions are messed up and put the nodename in both 122314c0a534Smrg # sysname and nodename. 1224bdc460c5Smrg GUESS=i386-sequent-sysv4 1225bdc460c5Smrg ;; 122614c0a534Smrg i*86:UNIX_SV:4.2MP:2.*) 122724047306Smrg # Unixware is an offshoot of SVR4, but it has its own version 122824047306Smrg # number series starting with 2... 122924047306Smrg # I am not positive that other SVR4 systems won't match this, 123014c0a534Smrg # I just have to hope. -- rms. 123124047306Smrg # Use sysv4.2uw... so that sysv4* matches it. 1232bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 1233bdc460c5Smrg ;; 123414c0a534Smrg i*86:OS/2:*:*) 12357015785aSmrg # If we were able to find 'uname', then EMX Unix compatibility 123614c0a534Smrg # is probably installed. 1237bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 1238bdc460c5Smrg ;; 123914c0a534Smrg i*86:XTS-300:*:STOP) 1240bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-stop 1241bdc460c5Smrg ;; 124214c0a534Smrg i*86:atheos:*:*) 1243bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-atheos 1244bdc460c5Smrg ;; 124514c0a534Smrg i*86:syllable:*:*) 1246bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-syllable 1247bdc460c5Smrg ;; 1248576bae58Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1249bdc460c5Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 1250bdc460c5Smrg ;; 125114c0a534Smrg i*86:*DOS:*:*) 1252bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 1253bdc460c5Smrg ;; 1254bdc460c5Smrg i*86:*:4.*:*) 1255bdc460c5Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 125614c0a534Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1257bdc460c5Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 125814c0a534Smrg else 1259bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 126014c0a534Smrg fi 1261bdc460c5Smrg ;; 126214c0a534Smrg i*86:*:5:[678]*) 126324047306Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 126414c0a534Smrg case `/bin/uname -X | grep "^Machine"` in 126514c0a534Smrg *486*) UNAME_MACHINE=i486 ;; 126614c0a534Smrg *Pentium) UNAME_MACHINE=i586 ;; 126714c0a534Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 126814c0a534Smrg esac 1269bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1270bdc460c5Smrg ;; 127114c0a534Smrg i*86:*:3.2:*) 127214c0a534Smrg if test -f /usr/options/cb.name; then 127314c0a534Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1274bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 127514c0a534Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 127614c0a534Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 127714c0a534Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 127814c0a534Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 127914c0a534Smrg && UNAME_MACHINE=i586 128014c0a534Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 128114c0a534Smrg && UNAME_MACHINE=i686 128214c0a534Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 128314c0a534Smrg && UNAME_MACHINE=i686 1284bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 128514c0a534Smrg else 1286bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-sysv32 128714c0a534Smrg fi 1288bdc460c5Smrg ;; 128914c0a534Smrg pc:*:*:*) 129014c0a534Smrg # Left here for compatibility: 129124047306Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 129224047306Smrg # the processor, so we play safe by assuming i586. 1293bf2eeab3Smrg # Note: whatever this is, it MUST be the same as what config.sub 1294bdc460c5Smrg # prints for the "djgpp" host, or else GDB configure will decide that 1295bf2eeab3Smrg # this is a cross-build. 1296bdc460c5Smrg GUESS=i586-pc-msdosdjgpp 1297bdc460c5Smrg ;; 129814c0a534Smrg Intel:Mach:3*:*) 1299bdc460c5Smrg GUESS=i386-pc-mach3 1300bdc460c5Smrg ;; 130114c0a534Smrg paragon:*:*:*) 1302bdc460c5Smrg GUESS=i860-intel-osf1 1303bdc460c5Smrg ;; 130414c0a534Smrg i860:*:4.*:*) # i860-SVR4 130514c0a534Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1306bdc460c5Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 130714c0a534Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1308bdc460c5Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 130914c0a534Smrg fi 1310bdc460c5Smrg ;; 131114c0a534Smrg mini*:CTIX:SYS*5:*) 131214c0a534Smrg # "miniframe" 1313bdc460c5Smrg GUESS=m68010-convergent-sysv 1314bdc460c5Smrg ;; 131514c0a534Smrg mc68k:UNIX:SYSTEM5:3.51m) 1316bdc460c5Smrg GUESS=m68k-convergent-sysv 1317bdc460c5Smrg ;; 131814c0a534Smrg M680?0:D-NIX:5.3:*) 1319bdc460c5Smrg GUESS=m68k-diab-dnix 1320bdc460c5Smrg ;; 132114c0a534Smrg M68*:*:R3V[5678]*:*) 132214c0a534Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 132314c0a534Smrg 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) 132414c0a534Smrg OS_REL='' 132514c0a534Smrg test -r /etc/.relid \ 132614c0a534Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 132714c0a534Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1328bdc460c5Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 132914c0a534Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1330bdc460c5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 133114c0a534Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 133224047306Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 133324047306Smrg && { echo i486-ncr-sysv4; exit; } ;; 1334bf2eeab3Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1335bf2eeab3Smrg OS_REL='.3' 1336bf2eeab3Smrg test -r /etc/.relid \ 1337bf2eeab3Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1338bf2eeab3Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1339bdc460c5Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1340bf2eeab3Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1341bdc460c5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1342bf2eeab3Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1343bdc460c5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 134414c0a534Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1345bdc460c5Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 1346bdc460c5Smrg ;; 134714c0a534Smrg mc68030:UNIX_System_V:4.*:*) 1348bdc460c5Smrg GUESS=m68k-atari-sysv4 1349bdc460c5Smrg ;; 135014c0a534Smrg TSUNAMI:LynxOS:2.*:*) 1351bdc460c5Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 1352bdc460c5Smrg ;; 135314c0a534Smrg rs6000:LynxOS:2.*:*) 1354bdc460c5Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 1355bdc460c5Smrg ;; 1356576bae58Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1357bdc460c5Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 1358bdc460c5Smrg ;; 135914c0a534Smrg SM[BE]S:UNIX_SV:*:*) 1360bdc460c5Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 1361bdc460c5Smrg ;; 136214c0a534Smrg RM*:ReliantUNIX-*:*:*) 1363bdc460c5Smrg GUESS=mips-sni-sysv4 1364bdc460c5Smrg ;; 136514c0a534Smrg RM*:SINIX-*:*:*) 1366bdc460c5Smrg GUESS=mips-sni-sysv4 1367bdc460c5Smrg ;; 136814c0a534Smrg *:SINIX-*:*:*) 136914c0a534Smrg if uname -p 2>/dev/null >/dev/null ; then 137014c0a534Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1371bdc460c5Smrg GUESS=$UNAME_MACHINE-sni-sysv4 137214c0a534Smrg else 1373bdc460c5Smrg GUESS=ns32k-sni-sysv 137414c0a534Smrg fi 1375bdc460c5Smrg ;; 13767015785aSmrg PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort 137724047306Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1378bdc460c5Smrg GUESS=i586-unisys-sysv4 1379bdc460c5Smrg ;; 138014c0a534Smrg *:UNIX_System_V:4*:FTX*) 138114c0a534Smrg # From Gerald Hewes <hewes@openmarket.com>. 138214c0a534Smrg # How about differentiating between stratus architectures? -djm 1383bdc460c5Smrg GUESS=hppa1.1-stratus-sysv4 1384bdc460c5Smrg ;; 138514c0a534Smrg *:*:*:FTX*) 138614c0a534Smrg # From seanf@swdc.stratus.com. 1387bdc460c5Smrg GUESS=i860-stratus-sysv4 1388bdc460c5Smrg ;; 138914c0a534Smrg i*86:VOS:*:*) 139014c0a534Smrg # From Paul.Green@stratus.com. 1391bdc460c5Smrg GUESS=$UNAME_MACHINE-stratus-vos 1392bdc460c5Smrg ;; 139314c0a534Smrg *:VOS:*:*) 139414c0a534Smrg # From Paul.Green@stratus.com. 1395bdc460c5Smrg GUESS=hppa1.1-stratus-vos 1396bdc460c5Smrg ;; 139714c0a534Smrg mc68*:A/UX:*:*) 1398bdc460c5Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 1399bdc460c5Smrg ;; 140014c0a534Smrg news*:NEWS-OS:6*:*) 1401bdc460c5Smrg GUESS=mips-sony-newsos6 1402bdc460c5Smrg ;; 140314c0a534Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1404bdc460c5Smrg if test -d /usr/nec; then 1405bdc460c5Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 140614c0a534Smrg else 1407bdc460c5Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 140814c0a534Smrg fi 1409bdc460c5Smrg ;; 141014c0a534Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1411bdc460c5Smrg GUESS=powerpc-be-beos 1412bdc460c5Smrg ;; 141314c0a534Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1414bdc460c5Smrg GUESS=powerpc-apple-beos 1415bdc460c5Smrg ;; 141614c0a534Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1417bdc460c5Smrg GUESS=i586-pc-beos 1418bdc460c5Smrg ;; 1419bf2eeab3Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1420bdc460c5Smrg GUESS=i586-pc-haiku 1421bdc460c5Smrg ;; 14227015785aSmrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 14237015785aSmrg GUESS=powerpc-apple-haiku 14247015785aSmrg ;; 14257015785aSmrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 14267015785aSmrg GUESS=$UNAME_MACHINE-unknown-haiku 1427bdc460c5Smrg ;; 142814c0a534Smrg SX-4:SUPER-UX:*:*) 1429bdc460c5Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 1430bdc460c5Smrg ;; 143114c0a534Smrg SX-5:SUPER-UX:*:*) 1432bdc460c5Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 1433bdc460c5Smrg ;; 143414c0a534Smrg SX-6:SUPER-UX:*:*) 1435bdc460c5Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 1436bdc460c5Smrg ;; 1437bf2eeab3Smrg SX-7:SUPER-UX:*:*) 1438bdc460c5Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 1439bdc460c5Smrg ;; 1440bf2eeab3Smrg SX-8:SUPER-UX:*:*) 1441bdc460c5Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 1442bdc460c5Smrg ;; 1443bf2eeab3Smrg SX-8R:SUPER-UX:*:*) 1444bdc460c5Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 1445bdc460c5Smrg ;; 1446bdc460c5Smrg SX-ACE:SUPER-UX:*:*) 1447bdc460c5Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 1448bdc460c5Smrg ;; 144914c0a534Smrg Power*:Rhapsody:*:*) 1450bdc460c5Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 1451bdc460c5Smrg ;; 145214c0a534Smrg *:Rhapsody:*:*) 1453bdc460c5Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 1454bdc460c5Smrg ;; 1455bdc460c5Smrg arm64:Darwin:*:*) 1456bdc460c5Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 1457bdc460c5Smrg ;; 145814c0a534Smrg *:Darwin:*:*) 1459bdc460c5Smrg UNAME_PROCESSOR=`uname -p` 1460bdc460c5Smrg case $UNAME_PROCESSOR in 1461bdc460c5Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1462bdc460c5Smrg esac 1463bdc460c5Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1464bdc460c5Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1465bdc460c5Smrg # Avoid executing cc if there is no toolchain installed as 1466bdc460c5Smrg # cc will be a stub that puts up a graphical alert 1467bdc460c5Smrg # prompting the user to install developer tools. 1468bdc460c5Smrg CC_FOR_BUILD=no_compiler_found 1469bdc460c5Smrg else 1470bdc460c5Smrg set_cc_for_build 147124047306Smrg fi 1472bdc460c5Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1473bdc460c5Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1474bdc460c5Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1475bdc460c5Smrg grep IS_64BIT_ARCH >/dev/null 1476bdc460c5Smrg then 1477bdc460c5Smrg case $UNAME_PROCESSOR in 1478bdc460c5Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1479bdc460c5Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1480bdc460c5Smrg esac 1481bdc460c5Smrg fi 1482bdc460c5Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1483bdc460c5Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1484bdc460c5Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1485bdc460c5Smrg grep IS_PPC >/dev/null 1486bdc460c5Smrg then 1487bdc460c5Smrg UNAME_PROCESSOR=powerpc 148824047306Smrg fi 148924047306Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1490bdc460c5Smrg # uname -m returns i386 or x86_64 1491bdc460c5Smrg UNAME_PROCESSOR=$UNAME_MACHINE 149224047306Smrg fi 1493bdc460c5Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 1494bdc460c5Smrg ;; 149514c0a534Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 149614c0a534Smrg UNAME_PROCESSOR=`uname -p` 1497bdc460c5Smrg if test "$UNAME_PROCESSOR" = x86; then 149814c0a534Smrg UNAME_PROCESSOR=i386 149914c0a534Smrg UNAME_MACHINE=pc 150014c0a534Smrg fi 1501bdc460c5Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 1502bdc460c5Smrg ;; 150314c0a534Smrg *:QNX:*:4*) 1504bdc460c5Smrg GUESS=i386-pc-qnx 1505bdc460c5Smrg ;; 1506bdc460c5Smrg NEO-*:NONSTOP_KERNEL:*:*) 1507bdc460c5Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 1508bdc460c5Smrg ;; 150924047306Smrg NSE-*:NONSTOP_KERNEL:*:*) 1510bdc460c5Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 1511bdc460c5Smrg ;; 1512bdc460c5Smrg NSR-*:NONSTOP_KERNEL:*:*) 1513bdc460c5Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 1514bdc460c5Smrg ;; 1515bdc460c5Smrg NSV-*:NONSTOP_KERNEL:*:*) 1516bdc460c5Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 1517bdc460c5Smrg ;; 1518bdc460c5Smrg NSX-*:NONSTOP_KERNEL:*:*) 1519bdc460c5Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 1520bdc460c5Smrg ;; 152114c0a534Smrg *:NonStop-UX:*:*) 1522bdc460c5Smrg GUESS=mips-compaq-nonstopux 1523bdc460c5Smrg ;; 152414c0a534Smrg BS2000:POSIX*:*:*) 1525bdc460c5Smrg GUESS=bs2000-siemens-sysv 1526bdc460c5Smrg ;; 152714c0a534Smrg DS/*:UNIX_System_V:*:*) 1528bdc460c5Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 1529bdc460c5Smrg ;; 153014c0a534Smrg *:Plan9:*:*) 153114c0a534Smrg # "uname -m" is not consistent, so use $cputype instead. 386 153214c0a534Smrg # is converted to i386 for consistency with other x86 153314c0a534Smrg # operating systems. 1534bdc460c5Smrg if test "${cputype-}" = 386; then 153514c0a534Smrg UNAME_MACHINE=i386 1536bdc460c5Smrg elif test "x${cputype-}" != x; then 1537bdc460c5Smrg UNAME_MACHINE=$cputype 153814c0a534Smrg fi 1539bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-plan9 1540bdc460c5Smrg ;; 154114c0a534Smrg *:TOPS-10:*:*) 1542bdc460c5Smrg GUESS=pdp10-unknown-tops10 1543bdc460c5Smrg ;; 154414c0a534Smrg *:TENEX:*:*) 1545bdc460c5Smrg GUESS=pdp10-unknown-tenex 1546bdc460c5Smrg ;; 154714c0a534Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1548bdc460c5Smrg GUESS=pdp10-dec-tops20 1549bdc460c5Smrg ;; 155014c0a534Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1551bdc460c5Smrg GUESS=pdp10-xkl-tops20 1552bdc460c5Smrg ;; 155314c0a534Smrg *:TOPS-20:*:*) 1554bdc460c5Smrg GUESS=pdp10-unknown-tops20 1555bdc460c5Smrg ;; 155614c0a534Smrg *:ITS:*:*) 1557bdc460c5Smrg GUESS=pdp10-unknown-its 1558bdc460c5Smrg ;; 155914c0a534Smrg SEI:*:*:SEIUX) 1560bdc460c5Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 1561bdc460c5Smrg ;; 156214c0a534Smrg *:DragonFly:*:*) 1563bdc460c5Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 1564bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 1565bdc460c5Smrg ;; 156614c0a534Smrg *:*VMS:*:*) 156724047306Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1568bdc460c5Smrg case $UNAME_MACHINE in 1569bdc460c5Smrg A*) GUESS=alpha-dec-vms ;; 1570bdc460c5Smrg I*) GUESS=ia64-dec-vms ;; 1571bdc460c5Smrg V*) GUESS=vax-dec-vms ;; 157214c0a534Smrg esac ;; 157314c0a534Smrg *:XENIX:*:SysV) 1574bdc460c5Smrg GUESS=i386-pc-xenix 1575bdc460c5Smrg ;; 157614c0a534Smrg i*86:skyos:*:*) 1577bdc460c5Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 1578bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 1579bdc460c5Smrg ;; 1580bf2eeab3Smrg i*86:rdos:*:*) 1581bdc460c5Smrg GUESS=$UNAME_MACHINE-pc-rdos 1582bdc460c5Smrg ;; 15837015785aSmrg i*86:Fiwix:*:*) 15847015785aSmrg GUESS=$UNAME_MACHINE-pc-fiwix 15857015785aSmrg ;; 1586bdc460c5Smrg *:AROS:*:*) 1587bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-aros 1588bdc460c5Smrg ;; 158924047306Smrg x86_64:VMkernel:*:*) 1590bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-esx 1591bdc460c5Smrg ;; 1592bdc460c5Smrg amd64:Isilon\ OneFS:*:*) 1593bdc460c5Smrg GUESS=x86_64-unknown-onefs 1594bdc460c5Smrg ;; 1595bdc460c5Smrg *:Unleashed:*:*) 1596bdc460c5Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 1597bdc460c5Smrg ;; 15987015785aSmrg *:Ironclad:*:*) 15997015785aSmrg GUESS=$UNAME_MACHINE-unknown-ironclad 16007015785aSmrg ;; 1601bdc460c5Smrgesac 1602bdc460c5Smrg 1603bdc460c5Smrg# Do we have a guess based on uname results? 1604bdc460c5Smrgif test "x$GUESS" != x; then 1605bdc460c5Smrg echo "$GUESS" 1606bdc460c5Smrg exit 1607bdc460c5Smrgfi 1608bdc460c5Smrg 1609bdc460c5Smrg# No uname command or uname output not recognized. 1610bdc460c5Smrgset_cc_for_build 1611bdc460c5Smrgcat > "$dummy.c" <<EOF 1612bdc460c5Smrg#ifdef _SEQUENT_ 1613bdc460c5Smrg#include <sys/types.h> 1614bdc460c5Smrg#include <sys/utsname.h> 1615bdc460c5Smrg#endif 1616bdc460c5Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1617bdc460c5Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1618bdc460c5Smrg#include <signal.h> 1619bdc460c5Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1620bdc460c5Smrg#include <sys/utsname.h> 1621bdc460c5Smrg#endif 1622bdc460c5Smrg#endif 1623bdc460c5Smrg#endif 1624bdc460c5Smrgmain () 1625bdc460c5Smrg{ 1626bdc460c5Smrg#if defined (sony) 1627bdc460c5Smrg#if defined (MIPSEB) 1628bdc460c5Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1629bdc460c5Smrg I don't know.... */ 1630bdc460c5Smrg printf ("mips-sony-bsd\n"); exit (0); 1631bdc460c5Smrg#else 1632bdc460c5Smrg#include <sys/param.h> 1633bdc460c5Smrg printf ("m68k-sony-newsos%s\n", 1634bdc460c5Smrg#ifdef NEWSOS4 1635bdc460c5Smrg "4" 1636bdc460c5Smrg#else 1637bdc460c5Smrg "" 1638bdc460c5Smrg#endif 1639bdc460c5Smrg ); exit (0); 1640bdc460c5Smrg#endif 1641bdc460c5Smrg#endif 1642bdc460c5Smrg 1643bdc460c5Smrg#if defined (NeXT) 1644bdc460c5Smrg#if !defined (__ARCHITECTURE__) 1645bdc460c5Smrg#define __ARCHITECTURE__ "m68k" 1646bdc460c5Smrg#endif 1647bdc460c5Smrg int version; 1648bdc460c5Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1649bdc460c5Smrg if (version < 4) 1650bdc460c5Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1651bdc460c5Smrg else 1652bdc460c5Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1653bdc460c5Smrg exit (0); 1654bdc460c5Smrg#endif 1655bdc460c5Smrg 1656bdc460c5Smrg#if defined (MULTIMAX) || defined (n16) 1657bdc460c5Smrg#if defined (UMAXV) 1658bdc460c5Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1659bdc460c5Smrg#else 1660bdc460c5Smrg#if defined (CMU) 1661bdc460c5Smrg printf ("ns32k-encore-mach\n"); exit (0); 1662bdc460c5Smrg#else 1663bdc460c5Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1664bdc460c5Smrg#endif 1665bdc460c5Smrg#endif 1666bdc460c5Smrg#endif 1667bdc460c5Smrg 1668bdc460c5Smrg#if defined (__386BSD__) 1669bdc460c5Smrg printf ("i386-pc-bsd\n"); exit (0); 1670bdc460c5Smrg#endif 1671bdc460c5Smrg 1672bdc460c5Smrg#if defined (sequent) 1673bdc460c5Smrg#if defined (i386) 1674bdc460c5Smrg printf ("i386-sequent-dynix\n"); exit (0); 1675bdc460c5Smrg#endif 1676bdc460c5Smrg#if defined (ns32000) 1677bdc460c5Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1678bdc460c5Smrg#endif 1679bdc460c5Smrg#endif 1680bdc460c5Smrg 1681bdc460c5Smrg#if defined (_SEQUENT_) 1682bdc460c5Smrg struct utsname un; 1683bdc460c5Smrg 1684bdc460c5Smrg uname(&un); 1685bdc460c5Smrg if (strncmp(un.version, "V2", 2) == 0) { 1686bdc460c5Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1687bdc460c5Smrg } 1688bdc460c5Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1689bdc460c5Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1690bdc460c5Smrg } 1691bdc460c5Smrg printf ("i386-sequent-ptx\n"); exit (0); 1692bdc460c5Smrg#endif 1693bdc460c5Smrg 1694bdc460c5Smrg#if defined (vax) 1695bdc460c5Smrg#if !defined (ultrix) 1696bdc460c5Smrg#include <sys/param.h> 1697bdc460c5Smrg#if defined (BSD) 1698bdc460c5Smrg#if BSD == 43 1699bdc460c5Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1700bdc460c5Smrg#else 1701bdc460c5Smrg#if BSD == 199006 1702bdc460c5Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1703bdc460c5Smrg#else 1704bdc460c5Smrg printf ("vax-dec-bsd\n"); exit (0); 1705bdc460c5Smrg#endif 1706bdc460c5Smrg#endif 1707bdc460c5Smrg#else 1708bdc460c5Smrg printf ("vax-dec-bsd\n"); exit (0); 1709bdc460c5Smrg#endif 1710bdc460c5Smrg#else 1711bdc460c5Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1712bdc460c5Smrg struct utsname un; 1713bdc460c5Smrg uname (&un); 1714bdc460c5Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1715bdc460c5Smrg#else 1716bdc460c5Smrg printf ("vax-dec-ultrix\n"); exit (0); 1717bdc460c5Smrg#endif 1718bdc460c5Smrg#endif 1719bdc460c5Smrg#endif 1720bdc460c5Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1721bdc460c5Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1722bdc460c5Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1723bdc460c5Smrg struct utsname *un; 1724bdc460c5Smrg uname (&un); 1725bdc460c5Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1726bdc460c5Smrg#else 1727bdc460c5Smrg printf ("mips-dec-ultrix\n"); exit (0); 1728bdc460c5Smrg#endif 1729bdc460c5Smrg#endif 1730bdc460c5Smrg#endif 1731bdc460c5Smrg 1732bdc460c5Smrg#if defined (alliant) && defined (i860) 1733bdc460c5Smrg printf ("i860-alliant-bsd\n"); exit (0); 1734bdc460c5Smrg#endif 1735bdc460c5Smrg 1736bdc460c5Smrg exit (1); 1737bdc460c5Smrg} 1738bdc460c5SmrgEOF 1739bdc460c5Smrg 1740bdc460c5Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 1741bdc460c5Smrg { echo "$SYSTEM_NAME"; exit; } 1742bdc460c5Smrg 1743bdc460c5Smrg# Apollos put the system type in the environment. 1744bdc460c5Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1745bdc460c5Smrg 1746bdc460c5Smrgecho "$0: unable to guess system type" >&2 1747bdc460c5Smrg 1748bdc460c5Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 1749bdc460c5Smrg mips:Linux | mips64:Linux) 1750bdc460c5Smrg # If we got here on MIPS GNU/Linux, output extra information. 1751bdc460c5Smrg cat >&2 <<EOF 1752bdc460c5Smrg 1753bdc460c5SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1754bdc460c5Smrgthe system type. Please install a C compiler and try again. 1755bdc460c5SmrgEOF 1756bdc460c5Smrg ;; 175724047306Smrgesac 175814c0a534Smrg 175914c0a534Smrgcat >&2 <<EOF 176014c0a534Smrg 1761bdc460c5SmrgThis script (version $timestamp), has failed to recognize the 1762bdc460c5Smrgoperating system you are using. If your script is old, overwrite *all* 1763bdc460c5Smrgcopies of config.guess and config.sub with the latest versions from: 176414c0a534Smrg 1765bdc460c5Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 176614c0a534Smrgand 1767bdc460c5Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1768bdc460c5SmrgEOF 176914c0a534Smrg 1770bdc460c5Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 1771bdc460c5Smrgthisyear=`date +%Y` 1772bdc460c5Smrg# shellcheck disable=SC2003 1773bdc460c5Smrgscript_age=`expr "$thisyear" - "$our_year"` 1774bdc460c5Smrgif test "$script_age" -lt 3 ; then 1775bdc460c5Smrg cat >&2 <<EOF 1776bdc460c5Smrg 1777bdc460c5SmrgIf $0 has already been updated, send the following data and any 1778bdc460c5Smrginformation you think might be pertinent to config-patches@gnu.org to 1779bdc460c5Smrgprovide the necessary information to handle your system. 178014c0a534Smrg 178114c0a534Smrgconfig.guess timestamp = $timestamp 178214c0a534Smrg 178314c0a534Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 178414c0a534Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 178514c0a534Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 178614c0a534Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 178714c0a534Smrg 178814c0a534Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 178914c0a534Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 179014c0a534Smrg 179114c0a534Smrghostinfo = `(hostinfo) 2>/dev/null` 179214c0a534Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 179314c0a534Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 179414c0a534Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 179514c0a534Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 179614c0a534Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 179714c0a534Smrg 1798bdc460c5SmrgUNAME_MACHINE = "$UNAME_MACHINE" 1799bdc460c5SmrgUNAME_RELEASE = "$UNAME_RELEASE" 1800bdc460c5SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 1801bdc460c5SmrgUNAME_VERSION = "$UNAME_VERSION" 180214c0a534SmrgEOF 1803bdc460c5Smrgfi 180414c0a534Smrg 180514c0a534Smrgexit 1 180614c0a534Smrg 180714c0a534Smrg# Local variables: 1808bdc460c5Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 180914c0a534Smrg# time-stamp-start: "timestamp='" 181014c0a534Smrg# time-stamp-format: "%:y-%02m-%02d" 181114c0a534Smrg# time-stamp-end: "'" 181214c0a534Smrg# End: 1813