1ea6ae205Smrg#! /bin/sh 2ea6ae205Smrg# Attempt to guess a canonical system name. 3b2448f93Smrg# Copyright 1992-2023 Free Software Foundation, Inc. 4ea6ae205Smrg 5764c86d1Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 6764c86d1Smrg 7b2448f93Smrgtimestamp='2023-01-01' 8ea6ae205Smrg 9ea6ae205Smrg# This file is free software; you can redistribute it and/or modify it 10ea6ae205Smrg# under the terms of the GNU General Public License as published by 11b2448f93Smrg# the Free Software Foundation, either version 3 of the License, or 12ea6ae205Smrg# (at your option) any later version. 13ea6ae205Smrg# 14ea6ae205Smrg# This program is distributed in the hope that it will be useful, but 15ea6ae205Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16ea6ae205Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17ea6ae205Smrg# General Public License for more details. 18ea6ae205Smrg# 19ea6ae205Smrg# You should have received a copy of the GNU General Public License 20d87830e5Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21ea6ae205Smrg# 22ea6ae205Smrg# As a special exception to the GNU General Public License, if you 23ea6ae205Smrg# distribute this file as part of a program that contains a 24ea6ae205Smrg# configuration script generated by Autoconf, you may include it under 2587aef7c3Smrg# the same distribution terms that you use for the rest of that 2687aef7c3Smrg# program. This Exception is an additional permission under section 7 2787aef7c3Smrg# of the GNU General Public License, version 3 ("GPLv3"). 28ea6ae205Smrg# 2948f45e26Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30ea6ae205Smrg# 31b6f2c9ccSmrg# You can get the latest version of this script from: 32764c86d1Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 3387aef7c3Smrg# 3448f45e26Smrg# Please send patches to <config-patches@gnu.org>. 3587aef7c3Smrg 36ea6ae205Smrg 37764c86d1Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 38764c86d1Smrg# about features and limitations of the classic Bourne shell that were 39764c86d1Smrg# superseded or lifted in POSIX. However, this script identifies a wide 40764c86d1Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 41764c86d1Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 42764c86d1Smrg# have a pre-POSIX /bin/sh. 43764c86d1Smrg 44764c86d1Smrg 45ea6ae205Smrgme=`echo "$0" | sed -e 's,.*/,,'` 46ea6ae205Smrg 47ea6ae205Smrgusage="\ 48ea6ae205SmrgUsage: $0 [OPTION] 49ea6ae205Smrg 50ea6ae205SmrgOutput the configuration name of the system \`$me' is run on. 51ea6ae205Smrg 52d87830e5SmrgOptions: 53ea6ae205Smrg -h, --help print this help, then exit 54ea6ae205Smrg -t, --time-stamp print date of last modification, then exit 55ea6ae205Smrg -v, --version print version number, then exit 56ea6ae205Smrg 57ea6ae205SmrgReport bugs and patches to <config-patches@gnu.org>." 58ea6ae205Smrg 59ea6ae205Smrgversion="\ 60ea6ae205SmrgGNU config.guess ($timestamp) 61ea6ae205Smrg 62ea6ae205SmrgOriginally written by Per Bothner. 63b2448f93SmrgCopyright 1992-2023 Free Software Foundation, Inc. 64ea6ae205Smrg 65ea6ae205SmrgThis is free software; see the source for copying conditions. There is NO 66ea6ae205Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67ea6ae205Smrg 68ea6ae205Smrghelp=" 69ea6ae205SmrgTry \`$me --help' for more information." 70ea6ae205Smrg 71ea6ae205Smrg# Parse command line 72ea6ae205Smrgwhile test $# -gt 0 ; do 73ea6ae205Smrg case $1 in 74ea6ae205Smrg --time-stamp | --time* | -t ) 75ea6ae205Smrg echo "$timestamp" ; exit ;; 76ea6ae205Smrg --version | -v ) 77ea6ae205Smrg echo "$version" ; exit ;; 78ea6ae205Smrg --help | --h* | -h ) 79ea6ae205Smrg echo "$usage"; exit ;; 80ea6ae205Smrg -- ) # Stop option processing 81ea6ae205Smrg shift; break ;; 82ea6ae205Smrg - ) # Use stdin as input. 83ea6ae205Smrg break ;; 84ea6ae205Smrg -* ) 85ea6ae205Smrg echo "$me: invalid option $1$help" >&2 86ea6ae205Smrg exit 1 ;; 87ea6ae205Smrg * ) 88ea6ae205Smrg break ;; 89ea6ae205Smrg esac 90ea6ae205Smrgdone 91ea6ae205Smrg 92ea6ae205Smrgif test $# != 0; then 93ea6ae205Smrg echo "$me: too many arguments$help" >&2 94ea6ae205Smrg exit 1 95ea6ae205Smrgfi 96ea6ae205Smrg 97764c86d1Smrg# Just in case it came from the environment. 98764c86d1SmrgGUESS= 99ea6ae205Smrg 100ea6ae205Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101ea6ae205Smrg# compiler to aid in system detection is discouraged as it requires 102ea6ae205Smrg# temporary files to be created and, as you can see below, it is a 103ea6ae205Smrg# headache to deal with in a portable fashion. 104ea6ae205Smrg 105ea6ae205Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 106ea6ae205Smrg# use `HOST_CC' if defined, but it is deprecated. 107ea6ae205Smrg 108ea6ae205Smrg# Portable tmp directory creation inspired by the Autoconf team. 109ea6ae205Smrg 110764c86d1Smrgtmp= 111764c86d1Smrg# shellcheck disable=SC2172 112764c86d1Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 113764c86d1Smrg 114764c86d1Smrgset_cc_for_build() { 115764c86d1Smrg # prevent multiple calls if $tmp is already set 116764c86d1Smrg test "$tmp" && return 0 117764c86d1Smrg : "${TMPDIR=/tmp}" 118764c86d1Smrg # shellcheck disable=SC2039,SC3028 119764c86d1Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 120764c86d1Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 121764c86d1Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 122764c86d1Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 123764c86d1Smrg dummy=$tmp/dummy 124764c86d1Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 125764c86d1Smrg ,,) echo "int x;" > "$dummy.c" 126764c86d1Smrg for driver in cc gcc c89 c99 ; do 127764c86d1Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 128764c86d1Smrg CC_FOR_BUILD=$driver 129764c86d1Smrg break 130764c86d1Smrg fi 131764c86d1Smrg done 132764c86d1Smrg if test x"$CC_FOR_BUILD" = x ; then 133764c86d1Smrg CC_FOR_BUILD=no_compiler_found 134764c86d1Smrg fi 135764c86d1Smrg ;; 136764c86d1Smrg ,,*) CC_FOR_BUILD=$CC ;; 137764c86d1Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 138764c86d1Smrg esac 139764c86d1Smrg} 140ea6ae205Smrg 141ea6ae205Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142ea6ae205Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 143764c86d1Smrgif test -f /.attbin/uname ; then 144ea6ae205Smrg PATH=$PATH:/.attbin ; export PATH 145ea6ae205Smrgfi 146ea6ae205Smrg 147ea6ae205SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148ea6ae205SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 149764c86d1SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150ea6ae205SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151ea6ae205Smrg 152764c86d1Smrgcase $UNAME_SYSTEM in 15387aef7c3SmrgLinux|GNU|GNU/*) 154764c86d1Smrg LIBC=unknown 15587aef7c3Smrg 156764c86d1Smrg set_cc_for_build 157d87830e5Smrg cat <<-EOF > "$dummy.c" 15887aef7c3Smrg #include <features.h> 15987aef7c3Smrg #if defined(__UCLIBC__) 16087aef7c3Smrg LIBC=uclibc 16187aef7c3Smrg #elif defined(__dietlibc__) 16287aef7c3Smrg LIBC=dietlibc 163764c86d1Smrg #elif defined(__GLIBC__) 16487aef7c3Smrg LIBC=gnu 165764c86d1Smrg #else 166764c86d1Smrg #include <stdarg.h> 167764c86d1Smrg /* First heuristic to detect musl libc. */ 168764c86d1Smrg #ifdef __DEFINED_va_list 169764c86d1Smrg LIBC=musl 170764c86d1Smrg #endif 17187aef7c3Smrg #endif 17287aef7c3Smrg EOF 173764c86d1Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 174764c86d1Smrg eval "$cc_set_libc" 175d87830e5Smrg 176764c86d1Smrg # Second heuristic to detect musl libc. 177764c86d1Smrg if [ "$LIBC" = unknown ] && 178764c86d1Smrg command -v ldd >/dev/null && 179764c86d1Smrg ldd --version 2>&1 | grep -q ^musl; then 180764c86d1Smrg LIBC=musl 181764c86d1Smrg fi 182764c86d1Smrg 183764c86d1Smrg # If the system lacks a compiler, then just pick glibc. 184764c86d1Smrg # We could probably try harder. 185764c86d1Smrg if [ "$LIBC" = unknown ]; then 186764c86d1Smrg LIBC=gnu 187d87830e5Smrg fi 18887aef7c3Smrg ;; 18987aef7c3Smrgesac 19087aef7c3Smrg 191ea6ae205Smrg# Note: order is significant - the case branches are not exclusive. 192ea6ae205Smrg 193764c86d1Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 194ea6ae205Smrg *:NetBSD:*:*) 195ea6ae205Smrg # NetBSD (nbsd) targets should (where applicable) match one or 19687aef7c3Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 197ea6ae205Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 198ea6ae205Smrg # switched to ELF, *-*-netbsd* would select the old 199ea6ae205Smrg # object file format. This provides both forward 200ea6ae205Smrg # compatibility and a consistent mechanism for selecting the 201ea6ae205Smrg # object file format. 202ea6ae205Smrg # 203ea6ae205Smrg # Note: NetBSD doesn't particularly care about the vendor 204ea6ae205Smrg # portion of the name. We always set it to "unknown". 205d87830e5Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 206764c86d1Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 207764c86d1Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 208d87830e5Smrg echo unknown)` 209764c86d1Smrg case $UNAME_MACHINE_ARCH in 210764c86d1Smrg aarch64eb) machine=aarch64_be-unknown ;; 211ea6ae205Smrg armeb) machine=armeb-unknown ;; 212ea6ae205Smrg arm*) machine=arm-unknown ;; 213ea6ae205Smrg sh3el) machine=shl-unknown ;; 214ea6ae205Smrg sh3eb) machine=sh-unknown ;; 215ea6ae205Smrg sh5el) machine=sh5le-unknown ;; 216d87830e5Smrg earmv*) 217d87830e5Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 218d87830e5Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 219764c86d1Smrg machine=${arch}${endian}-unknown 220d87830e5Smrg ;; 221764c86d1Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 222ea6ae205Smrg esac 223ea6ae205Smrg # The Operating System including object format, if it has switched 224d87830e5Smrg # to ELF recently (or will in the future) and ABI. 225764c86d1Smrg case $UNAME_MACHINE_ARCH in 226d87830e5Smrg earm*) 227d87830e5Smrg os=netbsdelf 228d87830e5Smrg ;; 229ea6ae205Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 230764c86d1Smrg set_cc_for_build 231ea6ae205Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 232b6f2c9ccSmrg | grep -q __ELF__ 233ea6ae205Smrg then 234ea6ae205Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 235ea6ae205Smrg # Return netbsd for either. FIX? 236ea6ae205Smrg os=netbsd 237ea6ae205Smrg else 238ea6ae205Smrg os=netbsdelf 239ea6ae205Smrg fi 240ea6ae205Smrg ;; 241ea6ae205Smrg *) 24287aef7c3Smrg os=netbsd 243ea6ae205Smrg ;; 244ea6ae205Smrg esac 245d87830e5Smrg # Determine ABI tags. 246764c86d1Smrg case $UNAME_MACHINE_ARCH in 247d87830e5Smrg earm*) 248d87830e5Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 249d87830e5Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 250d87830e5Smrg ;; 251d87830e5Smrg esac 252ea6ae205Smrg # The OS release 253ea6ae205Smrg # Debian GNU/NetBSD machines have a different userland, and 254ea6ae205Smrg # thus, need a distinct triplet. However, they do not need 255ea6ae205Smrg # kernel version information, so it can be replaced with a 256ea6ae205Smrg # suitable tag, in the style of linux-gnu. 257764c86d1Smrg case $UNAME_VERSION in 258ea6ae205Smrg Debian*) 259ea6ae205Smrg release='-gnu' 260ea6ae205Smrg ;; 261ea6ae205Smrg *) 262d87830e5Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 263ea6ae205Smrg ;; 264ea6ae205Smrg esac 265ea6ae205Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 266ea6ae205Smrg # contains redundant information, the shorter form: 267ea6ae205Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 268764c86d1Smrg GUESS=$machine-${os}${release}${abi-} 269764c86d1Smrg ;; 27087aef7c3Smrg *:Bitrig:*:*) 27187aef7c3Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 272764c86d1Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 273764c86d1Smrg ;; 274ea6ae205Smrg *:OpenBSD:*:*) 275ea6ae205Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 276764c86d1Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 277764c86d1Smrg ;; 278764c86d1Smrg *:SecBSD:*:*) 279764c86d1Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 280764c86d1Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 281764c86d1Smrg ;; 282d87830e5Smrg *:LibertyBSD:*:*) 283d87830e5Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 284764c86d1Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 285764c86d1Smrg ;; 286d87830e5Smrg *:MidnightBSD:*:*) 287764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 288764c86d1Smrg ;; 289ea6ae205Smrg *:ekkoBSD:*:*) 290764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 291764c86d1Smrg ;; 292ea6ae205Smrg *:SolidBSD:*:*) 293764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 294764c86d1Smrg ;; 295764c86d1Smrg *:OS108:*:*) 296764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 297764c86d1Smrg ;; 298ea6ae205Smrg macppc:MirBSD:*:*) 299764c86d1Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 300764c86d1Smrg ;; 301ea6ae205Smrg *:MirBSD:*:*) 302764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 303764c86d1Smrg ;; 304d87830e5Smrg *:Sortix:*:*) 305764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-sortix 306764c86d1Smrg ;; 307764c86d1Smrg *:Twizzler:*:*) 308764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 309764c86d1Smrg ;; 310d87830e5Smrg *:Redox:*:*) 311764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-redox 312764c86d1Smrg ;; 313d87830e5Smrg mips:OSF1:*.*) 314764c86d1Smrg GUESS=mips-dec-osf1 315764c86d1Smrg ;; 316ea6ae205Smrg alpha:OSF1:*:*) 317764c86d1Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 318764c86d1Smrg trap '' 0 319ea6ae205Smrg case $UNAME_RELEASE in 320ea6ae205Smrg *4.0) 321ea6ae205Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 322ea6ae205Smrg ;; 323ea6ae205Smrg *5.*) 32487aef7c3Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 325ea6ae205Smrg ;; 326ea6ae205Smrg esac 327ea6ae205Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 328ea6ae205Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 329ea6ae205Smrg # covers most systems running today. This code pipes the CPU 330ea6ae205Smrg # types through head -n 1, so we only detect the type of CPU 0. 331ea6ae205Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 332764c86d1Smrg case $ALPHA_CPU_TYPE in 333ea6ae205Smrg "EV4 (21064)") 334d87830e5Smrg UNAME_MACHINE=alpha ;; 335ea6ae205Smrg "EV4.5 (21064)") 336d87830e5Smrg UNAME_MACHINE=alpha ;; 337ea6ae205Smrg "LCA4 (21066/21068)") 338d87830e5Smrg UNAME_MACHINE=alpha ;; 339ea6ae205Smrg "EV5 (21164)") 340d87830e5Smrg UNAME_MACHINE=alphaev5 ;; 341ea6ae205Smrg "EV5.6 (21164A)") 342d87830e5Smrg UNAME_MACHINE=alphaev56 ;; 343ea6ae205Smrg "EV5.6 (21164PC)") 344d87830e5Smrg UNAME_MACHINE=alphapca56 ;; 345ea6ae205Smrg "EV5.7 (21164PC)") 346d87830e5Smrg UNAME_MACHINE=alphapca57 ;; 347ea6ae205Smrg "EV6 (21264)") 348d87830e5Smrg UNAME_MACHINE=alphaev6 ;; 349ea6ae205Smrg "EV6.7 (21264A)") 350d87830e5Smrg UNAME_MACHINE=alphaev67 ;; 351ea6ae205Smrg "EV6.8CB (21264C)") 352d87830e5Smrg UNAME_MACHINE=alphaev68 ;; 353ea6ae205Smrg "EV6.8AL (21264B)") 354d87830e5Smrg UNAME_MACHINE=alphaev68 ;; 355ea6ae205Smrg "EV6.8CX (21264D)") 356d87830e5Smrg UNAME_MACHINE=alphaev68 ;; 357ea6ae205Smrg "EV6.9A (21264/EV69A)") 358d87830e5Smrg UNAME_MACHINE=alphaev69 ;; 359ea6ae205Smrg "EV7 (21364)") 360d87830e5Smrg UNAME_MACHINE=alphaev7 ;; 361ea6ae205Smrg "EV7.9 (21364A)") 362d87830e5Smrg UNAME_MACHINE=alphaev79 ;; 363ea6ae205Smrg esac 364ea6ae205Smrg # A Pn.n version is a patched version. 365ea6ae205Smrg # A Vn.n version is a released version. 366ea6ae205Smrg # A Tn.n version is a released field test version. 367ea6ae205Smrg # A Xn.n version is an unreleased experimental baselevel. 368ea6ae205Smrg # 1.2 uses "1.2" for uname -r. 369764c86d1Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 370764c86d1Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 371764c86d1Smrg ;; 372ea6ae205Smrg Amiga*:UNIX_System_V:4.0:*) 373764c86d1Smrg GUESS=m68k-unknown-sysv4 374764c86d1Smrg ;; 375ea6ae205Smrg *:[Aa]miga[Oo][Ss]:*:*) 376764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 377764c86d1Smrg ;; 378ea6ae205Smrg *:[Mm]orph[Oo][Ss]:*:*) 379764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-morphos 380764c86d1Smrg ;; 381ea6ae205Smrg *:OS/390:*:*) 382764c86d1Smrg GUESS=i370-ibm-openedition 383764c86d1Smrg ;; 384ea6ae205Smrg *:z/VM:*:*) 385764c86d1Smrg GUESS=s390-ibm-zvmoe 386764c86d1Smrg ;; 387ea6ae205Smrg *:OS400:*:*) 388764c86d1Smrg GUESS=powerpc-ibm-os400 389764c86d1Smrg ;; 390ea6ae205Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 391764c86d1Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 392764c86d1Smrg ;; 39387aef7c3Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 394764c86d1Smrg GUESS=arm-unknown-riscos 395764c86d1Smrg ;; 396ea6ae205Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 397764c86d1Smrg GUESS=hppa1.1-hitachi-hiuxmpp 398764c86d1Smrg ;; 399ea6ae205Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 400ea6ae205Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 401764c86d1Smrg case `(/bin/universe) 2>/dev/null` in 402764c86d1Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 403764c86d1Smrg *) GUESS=pyramid-pyramid-bsd ;; 404764c86d1Smrg esac 405764c86d1Smrg ;; 406ea6ae205Smrg NILE*:*:*:dcosx) 407764c86d1Smrg GUESS=pyramid-pyramid-svr4 408764c86d1Smrg ;; 409ea6ae205Smrg DRS?6000:unix:4.0:6*) 410764c86d1Smrg GUESS=sparc-icl-nx6 411764c86d1Smrg ;; 412ea6ae205Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 413ea6ae205Smrg case `/usr/bin/uname -p` in 414764c86d1Smrg sparc) GUESS=sparc-icl-nx7 ;; 415764c86d1Smrg esac 416764c86d1Smrg ;; 417e83ac88aSmrg s390x:SunOS:*:*) 418764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 419764c86d1Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 420764c86d1Smrg ;; 421ea6ae205Smrg sun4H:SunOS:5.*:*) 422764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 423764c86d1Smrg GUESS=sparc-hal-solaris2$SUN_REL 424764c86d1Smrg ;; 425ea6ae205Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 426764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 427764c86d1Smrg GUESS=sparc-sun-solaris2$SUN_REL 428764c86d1Smrg ;; 429b6f2c9ccSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 430764c86d1Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 431764c86d1Smrg ;; 432ea6ae205Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 433764c86d1Smrg set_cc_for_build 434d87830e5Smrg SUN_ARCH=i386 435e83ac88aSmrg # If there is a compiler, see if it is configured for 64-bit objects. 436e83ac88aSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 437e83ac88aSmrg # This test works for both compilers. 438764c86d1Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 439e83ac88aSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 440b2448f93Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 441e83ac88aSmrg grep IS_64BIT_ARCH >/dev/null 442e83ac88aSmrg then 443d87830e5Smrg SUN_ARCH=x86_64 444e83ac88aSmrg fi 445e83ac88aSmrg fi 446764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 447764c86d1Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 448764c86d1Smrg ;; 449ea6ae205Smrg sun4*:SunOS:6*:*) 450ea6ae205Smrg # According to config.sub, this is the proper way to canonicalize 451ea6ae205Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 452ea6ae205Smrg # it's likely to be more like Solaris than SunOS4. 453764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 454764c86d1Smrg GUESS=sparc-sun-solaris3$SUN_REL 455764c86d1Smrg ;; 456ea6ae205Smrg sun4*:SunOS:*:*) 457764c86d1Smrg case `/usr/bin/arch -k` in 458ea6ae205Smrg Series*|S4*) 459ea6ae205Smrg UNAME_RELEASE=`uname -v` 460ea6ae205Smrg ;; 461ea6ae205Smrg esac 462ea6ae205Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 463764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 464764c86d1Smrg GUESS=sparc-sun-sunos$SUN_REL 465764c86d1Smrg ;; 466ea6ae205Smrg sun3*:SunOS:*:*) 467764c86d1Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 468764c86d1Smrg ;; 469ea6ae205Smrg sun*:*:4.2BSD:*) 470ea6ae205Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 471d87830e5Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 472764c86d1Smrg case `/bin/arch` in 473ea6ae205Smrg sun3) 474764c86d1Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 475ea6ae205Smrg ;; 476ea6ae205Smrg sun4) 477764c86d1Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 478ea6ae205Smrg ;; 479ea6ae205Smrg esac 480764c86d1Smrg ;; 481ea6ae205Smrg aushp:SunOS:*:*) 482764c86d1Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 483764c86d1Smrg ;; 484ea6ae205Smrg # The situation for MiNT is a little confusing. The machine name 485ea6ae205Smrg # can be virtually everything (everything which is not 486ea6ae205Smrg # "atarist" or "atariste" at least should have a processor 487ea6ae205Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 488ea6ae205Smrg # to the lowercase version "mint" (or "freemint"). Finally 489ea6ae205Smrg # the system name "TOS" denotes a system which is actually not 490ea6ae205Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 491ea6ae205Smrg # be no problem. 492ea6ae205Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 493764c86d1Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 494764c86d1Smrg ;; 495ea6ae205Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 496764c86d1Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 497764c86d1Smrg ;; 498ea6ae205Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 499764c86d1Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 500764c86d1Smrg ;; 501ea6ae205Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 502764c86d1Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 503764c86d1Smrg ;; 504ea6ae205Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 505764c86d1Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 506764c86d1Smrg ;; 507ea6ae205Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 508764c86d1Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 509764c86d1Smrg ;; 510ea6ae205Smrg m68k:machten:*:*) 511764c86d1Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 512764c86d1Smrg ;; 513ea6ae205Smrg powerpc:machten:*:*) 514764c86d1Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 515764c86d1Smrg ;; 516ea6ae205Smrg RISC*:Mach:*:*) 517764c86d1Smrg GUESS=mips-dec-mach_bsd4.3 518764c86d1Smrg ;; 519ea6ae205Smrg RISC*:ULTRIX:*:*) 520764c86d1Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 521764c86d1Smrg ;; 522ea6ae205Smrg VAX*:ULTRIX*:*:*) 523764c86d1Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 524764c86d1Smrg ;; 525ea6ae205Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 526764c86d1Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 527764c86d1Smrg ;; 528ea6ae205Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 529764c86d1Smrg set_cc_for_build 530d87830e5Smrg sed 's/^ //' << EOF > "$dummy.c" 531ea6ae205Smrg#ifdef __cplusplus 532ea6ae205Smrg#include <stdio.h> /* for printf() prototype */ 533ea6ae205Smrg int main (int argc, char *argv[]) { 534ea6ae205Smrg#else 535ea6ae205Smrg int main (argc, argv) int argc; char *argv[]; { 536ea6ae205Smrg#endif 537ea6ae205Smrg #if defined (host_mips) && defined (MIPSEB) 538ea6ae205Smrg #if defined (SYSTYPE_SYSV) 539d87830e5Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 540ea6ae205Smrg #endif 541ea6ae205Smrg #if defined (SYSTYPE_SVR4) 542d87830e5Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 543ea6ae205Smrg #endif 544ea6ae205Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 545d87830e5Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 546ea6ae205Smrg #endif 547ea6ae205Smrg #endif 548ea6ae205Smrg exit (-1); 549ea6ae205Smrg } 550ea6ae205SmrgEOF 551d87830e5Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 552d87830e5Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 553d87830e5Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 554ea6ae205Smrg { echo "$SYSTEM_NAME"; exit; } 555764c86d1Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 556764c86d1Smrg ;; 557ea6ae205Smrg Motorola:PowerMAX_OS:*:*) 558764c86d1Smrg GUESS=powerpc-motorola-powermax 559764c86d1Smrg ;; 560ea6ae205Smrg Motorola:*:4.3:PL8-*) 561764c86d1Smrg GUESS=powerpc-harris-powermax 562764c86d1Smrg ;; 563ea6ae205Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 564764c86d1Smrg GUESS=powerpc-harris-powermax 565764c86d1Smrg ;; 566ea6ae205Smrg Night_Hawk:Power_UNIX:*:*) 567764c86d1Smrg GUESS=powerpc-harris-powerunix 568764c86d1Smrg ;; 569ea6ae205Smrg m88k:CX/UX:7*:*) 570764c86d1Smrg GUESS=m88k-harris-cxux7 571764c86d1Smrg ;; 572ea6ae205Smrg m88k:*:4*:R4*) 573764c86d1Smrg GUESS=m88k-motorola-sysv4 574764c86d1Smrg ;; 575ea6ae205Smrg m88k:*:3*:R3*) 576764c86d1Smrg GUESS=m88k-motorola-sysv3 577764c86d1Smrg ;; 578ea6ae205Smrg AViiON:dgux:*:*) 57987aef7c3Smrg # DG/UX returns AViiON for all architectures 58087aef7c3Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 581764c86d1Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 582ea6ae205Smrg then 583764c86d1Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 584764c86d1Smrg test "$TARGET_BINARY_INTERFACE"x = x 585ea6ae205Smrg then 586764c86d1Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 587ea6ae205Smrg else 588764c86d1Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 589ea6ae205Smrg fi 590ea6ae205Smrg else 591764c86d1Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 592ea6ae205Smrg fi 593764c86d1Smrg ;; 594ea6ae205Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 595764c86d1Smrg GUESS=m88k-dolphin-sysv3 596764c86d1Smrg ;; 597ea6ae205Smrg M88*:*:R3*:*) 598ea6ae205Smrg # Delta 88k system running SVR3 599764c86d1Smrg GUESS=m88k-motorola-sysv3 600764c86d1Smrg ;; 601ea6ae205Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 602764c86d1Smrg GUESS=m88k-tektronix-sysv3 603764c86d1Smrg ;; 604ea6ae205Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 605764c86d1Smrg GUESS=m68k-tektronix-bsd 606764c86d1Smrg ;; 607ea6ae205Smrg *:IRIX*:*:*) 608764c86d1Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 609764c86d1Smrg GUESS=mips-sgi-irix$IRIX_REL 610764c86d1Smrg ;; 611ea6ae205Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 612764c86d1Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 613764c86d1Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 614ea6ae205Smrg i*86:AIX:*:*) 615764c86d1Smrg GUESS=i386-ibm-aix 616764c86d1Smrg ;; 617ea6ae205Smrg ia64:AIX:*:*) 618764c86d1Smrg if test -x /usr/bin/oslevel ; then 619ea6ae205Smrg IBM_REV=`/usr/bin/oslevel` 620ea6ae205Smrg else 621764c86d1Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 622ea6ae205Smrg fi 623764c86d1Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 624764c86d1Smrg ;; 625ea6ae205Smrg *:AIX:2:3) 626ea6ae205Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 627764c86d1Smrg set_cc_for_build 628d87830e5Smrg sed 's/^ //' << EOF > "$dummy.c" 629ea6ae205Smrg #include <sys/systemcfg.h> 630ea6ae205Smrg 631ea6ae205Smrg main() 632ea6ae205Smrg { 633ea6ae205Smrg if (!__power_pc()) 634ea6ae205Smrg exit(1); 635ea6ae205Smrg puts("powerpc-ibm-aix3.2.5"); 636ea6ae205Smrg exit(0); 637ea6ae205Smrg } 638ea6ae205SmrgEOF 639d87830e5Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 640ea6ae205Smrg then 641764c86d1Smrg GUESS=$SYSTEM_NAME 642ea6ae205Smrg else 643764c86d1Smrg GUESS=rs6000-ibm-aix3.2.5 644ea6ae205Smrg fi 645ea6ae205Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 646764c86d1Smrg GUESS=rs6000-ibm-aix3.2.4 647ea6ae205Smrg else 648764c86d1Smrg GUESS=rs6000-ibm-aix3.2 649ea6ae205Smrg fi 650764c86d1Smrg ;; 651b6f2c9ccSmrg *:AIX:*:[4567]) 652ea6ae205Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 653d87830e5Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 654ea6ae205Smrg IBM_ARCH=rs6000 655ea6ae205Smrg else 656ea6ae205Smrg IBM_ARCH=powerpc 657ea6ae205Smrg fi 658764c86d1Smrg if test -x /usr/bin/lslpp ; then 659764c86d1Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66048f45e26Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 661ea6ae205Smrg else 662764c86d1Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 663ea6ae205Smrg fi 664764c86d1Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 665764c86d1Smrg ;; 666ea6ae205Smrg *:AIX:*:*) 667764c86d1Smrg GUESS=rs6000-ibm-aix 668764c86d1Smrg ;; 669d87830e5Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 670764c86d1Smrg GUESS=romp-ibm-bsd4.4 671764c86d1Smrg ;; 672ea6ae205Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 673764c86d1Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 674764c86d1Smrg ;; # report: romp-ibm BSD 4.3 675ea6ae205Smrg *:BOSX:*:*) 676764c86d1Smrg GUESS=rs6000-bull-bosx 677764c86d1Smrg ;; 678ea6ae205Smrg DPX/2?00:B.O.S.:*:*) 679764c86d1Smrg GUESS=m68k-bull-sysv3 680764c86d1Smrg ;; 681ea6ae205Smrg 9000/[34]??:4.3bsd:1.*:*) 682764c86d1Smrg GUESS=m68k-hp-bsd 683764c86d1Smrg ;; 684ea6ae205Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 685764c86d1Smrg GUESS=m68k-hp-bsd4.4 686764c86d1Smrg ;; 687ea6ae205Smrg 9000/[34678]??:HP-UX:*:*) 688764c86d1Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 689764c86d1Smrg case $UNAME_MACHINE in 690d87830e5Smrg 9000/31?) HP_ARCH=m68000 ;; 691d87830e5Smrg 9000/[34]??) HP_ARCH=m68k ;; 692ea6ae205Smrg 9000/[678][0-9][0-9]) 693764c86d1Smrg if test -x /usr/bin/getconf; then 694ea6ae205Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 69587aef7c3Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 696764c86d1Smrg case $sc_cpu_version in 697d87830e5Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 698d87830e5Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 69987aef7c3Smrg 532) # CPU_PA_RISC2_0 700764c86d1Smrg case $sc_kernel_bits in 701d87830e5Smrg 32) HP_ARCH=hppa2.0n ;; 702d87830e5Smrg 64) HP_ARCH=hppa2.0w ;; 703d87830e5Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 70487aef7c3Smrg esac ;; 70587aef7c3Smrg esac 706ea6ae205Smrg fi 707764c86d1Smrg if test "$HP_ARCH" = ""; then 708764c86d1Smrg set_cc_for_build 709d87830e5Smrg sed 's/^ //' << EOF > "$dummy.c" 710ea6ae205Smrg 71187aef7c3Smrg #define _HPUX_SOURCE 71287aef7c3Smrg #include <stdlib.h> 71387aef7c3Smrg #include <unistd.h> 714ea6ae205Smrg 71587aef7c3Smrg int main () 71687aef7c3Smrg { 71787aef7c3Smrg #if defined(_SC_KERNEL_BITS) 71887aef7c3Smrg long bits = sysconf(_SC_KERNEL_BITS); 71987aef7c3Smrg #endif 72087aef7c3Smrg long cpu = sysconf (_SC_CPU_VERSION); 721ea6ae205Smrg 72287aef7c3Smrg switch (cpu) 72387aef7c3Smrg { 72487aef7c3Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 72587aef7c3Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 72687aef7c3Smrg case CPU_PA_RISC2_0: 72787aef7c3Smrg #if defined(_SC_KERNEL_BITS) 72887aef7c3Smrg switch (bits) 72987aef7c3Smrg { 73087aef7c3Smrg case 64: puts ("hppa2.0w"); break; 73187aef7c3Smrg case 32: puts ("hppa2.0n"); break; 73287aef7c3Smrg default: puts ("hppa2.0"); break; 73387aef7c3Smrg } break; 73487aef7c3Smrg #else /* !defined(_SC_KERNEL_BITS) */ 73587aef7c3Smrg puts ("hppa2.0"); break; 73687aef7c3Smrg #endif 73787aef7c3Smrg default: puts ("hppa1.0"); break; 73887aef7c3Smrg } 73987aef7c3Smrg exit (0); 74087aef7c3Smrg } 741ea6ae205SmrgEOF 742d87830e5Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 743ea6ae205Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 744ea6ae205Smrg fi ;; 745ea6ae205Smrg esac 746764c86d1Smrg if test "$HP_ARCH" = hppa2.0w 747ea6ae205Smrg then 748764c86d1Smrg set_cc_for_build 749ea6ae205Smrg 750ea6ae205Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 751ea6ae205Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 752ea6ae205Smrg # generating 64-bit code. GNU and HP use different nomenclature: 753ea6ae205Smrg # 754ea6ae205Smrg # $ CC_FOR_BUILD=cc ./config.guess 755ea6ae205Smrg # => hppa2.0w-hp-hpux11.23 756ea6ae205Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 757ea6ae205Smrg # => hppa64-hp-hpux11.23 758ea6ae205Smrg 759d87830e5Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 760b6f2c9ccSmrg grep -q __LP64__ 761ea6ae205Smrg then 762d87830e5Smrg HP_ARCH=hppa2.0w 763ea6ae205Smrg else 764d87830e5Smrg HP_ARCH=hppa64 765ea6ae205Smrg fi 766ea6ae205Smrg fi 767764c86d1Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 768764c86d1Smrg ;; 769ea6ae205Smrg ia64:HP-UX:*:*) 770764c86d1Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 771764c86d1Smrg GUESS=ia64-hp-hpux$HPUX_REV 772764c86d1Smrg ;; 773ea6ae205Smrg 3050*:HI-UX:*:*) 774764c86d1Smrg set_cc_for_build 775d87830e5Smrg sed 's/^ //' << EOF > "$dummy.c" 776ea6ae205Smrg #include <unistd.h> 777ea6ae205Smrg int 778ea6ae205Smrg main () 779ea6ae205Smrg { 780ea6ae205Smrg long cpu = sysconf (_SC_CPU_VERSION); 781ea6ae205Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 782ea6ae205Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 783ea6ae205Smrg results, however. */ 784ea6ae205Smrg if (CPU_IS_PA_RISC (cpu)) 785ea6ae205Smrg { 786ea6ae205Smrg switch (cpu) 787ea6ae205Smrg { 788ea6ae205Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 789ea6ae205Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 790ea6ae205Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 791ea6ae205Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 792ea6ae205Smrg } 793ea6ae205Smrg } 794ea6ae205Smrg else if (CPU_IS_HP_MC68K (cpu)) 795ea6ae205Smrg puts ("m68k-hitachi-hiuxwe2"); 796ea6ae205Smrg else puts ("unknown-hitachi-hiuxwe2"); 797ea6ae205Smrg exit (0); 798ea6ae205Smrg } 799ea6ae205SmrgEOF 800d87830e5Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 801ea6ae205Smrg { echo "$SYSTEM_NAME"; exit; } 802764c86d1Smrg GUESS=unknown-hitachi-hiuxwe2 803764c86d1Smrg ;; 804d87830e5Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 805764c86d1Smrg GUESS=hppa1.1-hp-bsd 806764c86d1Smrg ;; 807ea6ae205Smrg 9000/8??:4.3bsd:*:*) 808764c86d1Smrg GUESS=hppa1.0-hp-bsd 809764c86d1Smrg ;; 810ea6ae205Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 811764c86d1Smrg GUESS=hppa1.0-hp-mpeix 812764c86d1Smrg ;; 813d87830e5Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 814764c86d1Smrg GUESS=hppa1.1-hp-osf 815764c86d1Smrg ;; 816ea6ae205Smrg hp8??:OSF1:*:*) 817764c86d1Smrg GUESS=hppa1.0-hp-osf 818764c86d1Smrg ;; 819ea6ae205Smrg i*86:OSF1:*:*) 820764c86d1Smrg if test -x /usr/sbin/sysversion ; then 821764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 822ea6ae205Smrg else 823764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-osf1 824ea6ae205Smrg fi 825764c86d1Smrg ;; 826ea6ae205Smrg parisc*:Lites*:*:*) 827764c86d1Smrg GUESS=hppa1.1-hp-lites 828764c86d1Smrg ;; 829ea6ae205Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 830764c86d1Smrg GUESS=c1-convex-bsd 831764c86d1Smrg ;; 832ea6ae205Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 833ea6ae205Smrg if getsysinfo -f scalar_acc 834ea6ae205Smrg then echo c32-convex-bsd 835ea6ae205Smrg else echo c2-convex-bsd 836ea6ae205Smrg fi 83787aef7c3Smrg exit ;; 838ea6ae205Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 839764c86d1Smrg GUESS=c34-convex-bsd 840764c86d1Smrg ;; 841ea6ae205Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 842764c86d1Smrg GUESS=c38-convex-bsd 843764c86d1Smrg ;; 844ea6ae205Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 845764c86d1Smrg GUESS=c4-convex-bsd 846764c86d1Smrg ;; 847ea6ae205Smrg CRAY*Y-MP:*:*:*) 848764c86d1Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 849764c86d1Smrg GUESS=ymp-cray-unicos$CRAY_REL 850764c86d1Smrg ;; 851ea6ae205Smrg CRAY*[A-Z]90:*:*:*) 852d87830e5Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 853ea6ae205Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 854ea6ae205Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 855ea6ae205Smrg -e 's/\.[^.]*$/.X/' 856ea6ae205Smrg exit ;; 857ea6ae205Smrg CRAY*TS:*:*:*) 858764c86d1Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 859764c86d1Smrg GUESS=t90-cray-unicos$CRAY_REL 860764c86d1Smrg ;; 861ea6ae205Smrg CRAY*T3E:*:*:*) 862764c86d1Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 863764c86d1Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 864764c86d1Smrg ;; 865ea6ae205Smrg CRAY*SV1:*:*:*) 866764c86d1Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 867764c86d1Smrg GUESS=sv1-cray-unicos$CRAY_REL 868764c86d1Smrg ;; 869ea6ae205Smrg *:UNICOS/mp:*:*) 870764c86d1Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 871764c86d1Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 872764c86d1Smrg ;; 873ea6ae205Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 874d87830e5Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 875d87830e5Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 876d87830e5Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 877764c86d1Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 878764c86d1Smrg ;; 879ea6ae205Smrg 5000:UNIX_System_V:4.*:*) 880d87830e5Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 881d87830e5Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 882764c86d1Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 883764c86d1Smrg ;; 884ea6ae205Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 885764c86d1Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 886764c86d1Smrg ;; 887ea6ae205Smrg sparc*:BSD/OS:*:*) 888764c86d1Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 889764c86d1Smrg ;; 890ea6ae205Smrg *:BSD/OS:*:*) 891764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 892764c86d1Smrg ;; 893764c86d1Smrg arm:FreeBSD:*:*) 894764c86d1Smrg UNAME_PROCESSOR=`uname -p` 895764c86d1Smrg set_cc_for_build 896764c86d1Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 897764c86d1Smrg | grep -q __ARM_PCS_VFP 898764c86d1Smrg then 899764c86d1Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 900764c86d1Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 901764c86d1Smrg else 902764c86d1Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 903764c86d1Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 904764c86d1Smrg fi 905764c86d1Smrg ;; 906ea6ae205Smrg *:FreeBSD:*:*) 90787aef7c3Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 908764c86d1Smrg case $UNAME_PROCESSOR in 909ea6ae205Smrg amd64) 910d87830e5Smrg UNAME_PROCESSOR=x86_64 ;; 911d87830e5Smrg i386) 912d87830e5Smrg UNAME_PROCESSOR=i586 ;; 913ea6ae205Smrg esac 914764c86d1Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 915764c86d1Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 916764c86d1Smrg ;; 917ea6ae205Smrg i*:CYGWIN*:*) 918764c86d1Smrg GUESS=$UNAME_MACHINE-pc-cygwin 919764c86d1Smrg ;; 92087aef7c3Smrg *:MINGW64*:*) 921764c86d1Smrg GUESS=$UNAME_MACHINE-pc-mingw64 922764c86d1Smrg ;; 923ea6ae205Smrg *:MINGW*:*) 924764c86d1Smrg GUESS=$UNAME_MACHINE-pc-mingw32 925764c86d1Smrg ;; 92648f45e26Smrg *:MSYS*:*) 927764c86d1Smrg GUESS=$UNAME_MACHINE-pc-msys 928764c86d1Smrg ;; 929ea6ae205Smrg i*:PW*:*) 930764c86d1Smrg GUESS=$UNAME_MACHINE-pc-pw32 931764c86d1Smrg ;; 932b2448f93Smrg *:SerenityOS:*:*) 933b2448f93Smrg GUESS=$UNAME_MACHINE-pc-serenity 934b2448f93Smrg ;; 935b6f2c9ccSmrg *:Interix*:*) 936764c86d1Smrg case $UNAME_MACHINE in 937ea6ae205Smrg x86) 938764c86d1Smrg GUESS=i586-pc-interix$UNAME_RELEASE 939764c86d1Smrg ;; 940b6f2c9ccSmrg authenticamd | genuineintel | EM64T) 941764c86d1Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 942764c86d1Smrg ;; 943ea6ae205Smrg IA64) 944764c86d1Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 945764c86d1Smrg ;; 946ea6ae205Smrg esac ;; 947ea6ae205Smrg i*:UWIN*:*) 948764c86d1Smrg GUESS=$UNAME_MACHINE-pc-uwin 949764c86d1Smrg ;; 950ea6ae205Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 951764c86d1Smrg GUESS=x86_64-pc-cygwin 952764c86d1Smrg ;; 953ea6ae205Smrg prep*:SunOS:5.*:*) 954764c86d1Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 955764c86d1Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 956764c86d1Smrg ;; 957ea6ae205Smrg *:GNU:*:*) 958ea6ae205Smrg # the GNU system 959764c86d1Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 960764c86d1Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 961764c86d1Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 962764c86d1Smrg ;; 963ea6ae205Smrg *:GNU/*:*:*) 964ea6ae205Smrg # other systems with GNU libc and userland 965764c86d1Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 966764c86d1Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 967764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 968764c86d1Smrg ;; 969b2448f93Smrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 970b2448f93Smrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 971b2448f93Smrg ;; 972b2448f93Smrg *:[Mm]anagarm:*:*) 973b2448f93Smrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 974b2448f93Smrg ;; 975764c86d1Smrg *:Minix:*:*) 976764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-minix 977764c86d1Smrg ;; 97887aef7c3Smrg aarch64:Linux:*:*) 979764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 980764c86d1Smrg ;; 98187aef7c3Smrg aarch64_be:Linux:*:*) 98287aef7c3Smrg UNAME_MACHINE=aarch64_be 983764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 984764c86d1Smrg ;; 985b6f2c9ccSmrg alpha:Linux:*:*) 986764c86d1Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 987b6f2c9ccSmrg EV5) UNAME_MACHINE=alphaev5 ;; 988b6f2c9ccSmrg EV56) UNAME_MACHINE=alphaev56 ;; 989b6f2c9ccSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 990b6f2c9ccSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 991b6f2c9ccSmrg EV6) UNAME_MACHINE=alphaev6 ;; 992b6f2c9ccSmrg EV67) UNAME_MACHINE=alphaev67 ;; 993b6f2c9ccSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 99487aef7c3Smrg esac 995b6f2c9ccSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 996d87830e5Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 997764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 998764c86d1Smrg ;; 999764c86d1Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 1000764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1001764c86d1Smrg ;; 1002ea6ae205Smrg arm*:Linux:*:*) 1003764c86d1Smrg set_cc_for_build 1004ea6ae205Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1005ea6ae205Smrg | grep -q __ARM_EABI__ 1006ea6ae205Smrg then 1007764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1008ea6ae205Smrg else 100987aef7c3Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 101087aef7c3Smrg | grep -q __ARM_PCS_VFP 101187aef7c3Smrg then 1012764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 101387aef7c3Smrg else 1014764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 101587aef7c3Smrg fi 1016ea6ae205Smrg fi 1017764c86d1Smrg ;; 1018ea6ae205Smrg avr32*:Linux:*:*) 1019764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1020764c86d1Smrg ;; 1021ea6ae205Smrg cris:Linux:*:*) 1022764c86d1Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1023764c86d1Smrg ;; 1024ea6ae205Smrg crisv32:Linux:*:*) 1025764c86d1Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1026764c86d1Smrg ;; 1027d87830e5Smrg e2k:Linux:*:*) 1028764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1029764c86d1Smrg ;; 1030ea6ae205Smrg frv:Linux:*:*) 1031764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1032764c86d1Smrg ;; 103387aef7c3Smrg hexagon:Linux:*:*) 1034764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1035764c86d1Smrg ;; 1036b6f2c9ccSmrg i*86:Linux:*:*) 1037764c86d1Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 1038764c86d1Smrg ;; 1039ea6ae205Smrg ia64:Linux:*:*) 1040764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1041764c86d1Smrg ;; 1042d87830e5Smrg k1om:Linux:*:*) 1043764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1044764c86d1Smrg ;; 1045b2448f93Smrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 1046764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1047764c86d1Smrg ;; 1048ea6ae205Smrg m32r*:Linux:*:*) 1049764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1050764c86d1Smrg ;; 1051ea6ae205Smrg m68*:Linux:*:*) 1052764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1053764c86d1Smrg ;; 1054b6f2c9ccSmrg mips:Linux:*:* | mips64:Linux:*:*) 1055764c86d1Smrg set_cc_for_build 1056764c86d1Smrg IS_GLIBC=0 1057764c86d1Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 1058d87830e5Smrg sed 's/^ //' << EOF > "$dummy.c" 1059ea6ae205Smrg #undef CPU 1060764c86d1Smrg #undef mips 1061764c86d1Smrg #undef mipsel 1062764c86d1Smrg #undef mips64 1063764c86d1Smrg #undef mips64el 1064764c86d1Smrg #if ${IS_GLIBC} && defined(_ABI64) 1065764c86d1Smrg LIBCABI=gnuabi64 1066764c86d1Smrg #else 1067764c86d1Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1068764c86d1Smrg LIBCABI=gnuabin32 1069764c86d1Smrg #else 1070764c86d1Smrg LIBCABI=${LIBC} 1071764c86d1Smrg #endif 1072764c86d1Smrg #endif 1073764c86d1Smrg 1074764c86d1Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1075764c86d1Smrg CPU=mipsisa64r6 1076764c86d1Smrg #else 1077764c86d1Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1078764c86d1Smrg CPU=mipsisa32r6 1079764c86d1Smrg #else 1080764c86d1Smrg #if defined(__mips64) 1081764c86d1Smrg CPU=mips64 1082764c86d1Smrg #else 1083764c86d1Smrg CPU=mips 1084764c86d1Smrg #endif 1085764c86d1Smrg #endif 1086764c86d1Smrg #endif 1087764c86d1Smrg 1088ea6ae205Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1089764c86d1Smrg MIPS_ENDIAN=el 1090ea6ae205Smrg #else 1091ea6ae205Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1092764c86d1Smrg MIPS_ENDIAN= 1093ea6ae205Smrg #else 1094764c86d1Smrg MIPS_ENDIAN= 1095ea6ae205Smrg #endif 1096ea6ae205Smrg #endif 1097ea6ae205SmrgEOF 1098764c86d1Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 1099764c86d1Smrg eval "$cc_set_vars" 1100764c86d1Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1101ea6ae205Smrg ;; 1102d87830e5Smrg mips64el:Linux:*:*) 1103764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1104764c86d1Smrg ;; 110548f45e26Smrg openrisc*:Linux:*:*) 1106764c86d1Smrg GUESS=or1k-unknown-linux-$LIBC 1107764c86d1Smrg ;; 110848f45e26Smrg or32:Linux:*:* | or1k*:Linux:*:*) 1109764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1110764c86d1Smrg ;; 1111e83ac88aSmrg padre:Linux:*:*) 1112764c86d1Smrg GUESS=sparc-unknown-linux-$LIBC 1113764c86d1Smrg ;; 1114b6f2c9ccSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1115764c86d1Smrg GUESS=hppa64-unknown-linux-$LIBC 1116764c86d1Smrg ;; 1117ea6ae205Smrg parisc:Linux:*:* | hppa:Linux:*:*) 1118ea6ae205Smrg # Look for CPU level 1119ea6ae205Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1120764c86d1Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 1121764c86d1Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 1122764c86d1Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1123ea6ae205Smrg esac 1124764c86d1Smrg ;; 1125b6f2c9ccSmrg ppc64:Linux:*:*) 1126764c86d1Smrg GUESS=powerpc64-unknown-linux-$LIBC 1127764c86d1Smrg ;; 1128b6f2c9ccSmrg ppc:Linux:*:*) 1129764c86d1Smrg GUESS=powerpc-unknown-linux-$LIBC 1130764c86d1Smrg ;; 113187aef7c3Smrg ppc64le:Linux:*:*) 1132764c86d1Smrg GUESS=powerpc64le-unknown-linux-$LIBC 1133764c86d1Smrg ;; 113487aef7c3Smrg ppcle:Linux:*:*) 1135764c86d1Smrg GUESS=powerpcle-unknown-linux-$LIBC 1136764c86d1Smrg ;; 1137764c86d1Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1138764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1139764c86d1Smrg ;; 1140ea6ae205Smrg s390:Linux:*:* | s390x:Linux:*:*) 1141764c86d1Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 1142764c86d1Smrg ;; 1143ea6ae205Smrg sh64*:Linux:*:*) 1144764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1145764c86d1Smrg ;; 1146ea6ae205Smrg sh*:Linux:*:*) 1147764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1148764c86d1Smrg ;; 1149ea6ae205Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 1150764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1151764c86d1Smrg ;; 1152b6f2c9ccSmrg tile*:Linux:*:*) 1153764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1154764c86d1Smrg ;; 1155ea6ae205Smrg vax:Linux:*:*) 1156764c86d1Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 1157764c86d1Smrg ;; 1158ea6ae205Smrg x86_64:Linux:*:*) 1159764c86d1Smrg set_cc_for_build 1160b2448f93Smrg CPU=$UNAME_MACHINE 1161764c86d1Smrg LIBCABI=$LIBC 1162764c86d1Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1163b2448f93Smrg ABI=64 1164b2448f93Smrg sed 's/^ //' << EOF > "$dummy.c" 1165b2448f93Smrg #ifdef __i386__ 1166b2448f93Smrg ABI=x86 1167b2448f93Smrg #else 1168b2448f93Smrg #ifdef __ILP32__ 1169b2448f93Smrg ABI=x32 1170b2448f93Smrg #endif 1171b2448f93Smrg #endif 1172b2448f93SmrgEOF 1173b2448f93Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 1174b2448f93Smrg eval "$cc_set_abi" 1175b2448f93Smrg case $ABI in 1176b2448f93Smrg x86) CPU=i686 ;; 1177b2448f93Smrg x32) LIBCABI=${LIBC}x32 ;; 1178b2448f93Smrg esac 1179764c86d1Smrg fi 1180b2448f93Smrg GUESS=$CPU-pc-linux-$LIBCABI 1181764c86d1Smrg ;; 1182ea6ae205Smrg xtensa*:Linux:*:*) 1183764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1184764c86d1Smrg ;; 1185ea6ae205Smrg i*86:DYNIX/ptx:4*:*) 1186ea6ae205Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1187ea6ae205Smrg # earlier versions are messed up and put the nodename in both 1188ea6ae205Smrg # sysname and nodename. 1189764c86d1Smrg GUESS=i386-sequent-sysv4 1190764c86d1Smrg ;; 1191ea6ae205Smrg i*86:UNIX_SV:4.2MP:2.*) 119287aef7c3Smrg # Unixware is an offshoot of SVR4, but it has its own version 119387aef7c3Smrg # number series starting with 2... 119487aef7c3Smrg # I am not positive that other SVR4 systems won't match this, 1195ea6ae205Smrg # I just have to hope. -- rms. 119687aef7c3Smrg # Use sysv4.2uw... so that sysv4* matches it. 1197764c86d1Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 1198764c86d1Smrg ;; 1199ea6ae205Smrg i*86:OS/2:*:*) 1200ea6ae205Smrg # If we were able to find `uname', then EMX Unix compatibility 1201ea6ae205Smrg # is probably installed. 1202764c86d1Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 1203764c86d1Smrg ;; 1204ea6ae205Smrg i*86:XTS-300:*:STOP) 1205764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-stop 1206764c86d1Smrg ;; 1207ea6ae205Smrg i*86:atheos:*:*) 1208764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-atheos 1209764c86d1Smrg ;; 1210ea6ae205Smrg i*86:syllable:*:*) 1211764c86d1Smrg GUESS=$UNAME_MACHINE-pc-syllable 1212764c86d1Smrg ;; 1213b6f2c9ccSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1214764c86d1Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 1215764c86d1Smrg ;; 1216ea6ae205Smrg i*86:*DOS:*:*) 1217764c86d1Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 1218764c86d1Smrg ;; 1219d87830e5Smrg i*86:*:4.*:*) 1220d87830e5Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1221ea6ae205Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1222764c86d1Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1223ea6ae205Smrg else 1224764c86d1Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1225ea6ae205Smrg fi 1226764c86d1Smrg ;; 1227ea6ae205Smrg i*86:*:5:[678]*) 122887aef7c3Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1229ea6ae205Smrg case `/bin/uname -X | grep "^Machine"` in 1230ea6ae205Smrg *486*) UNAME_MACHINE=i486 ;; 1231ea6ae205Smrg *Pentium) UNAME_MACHINE=i586 ;; 1232ea6ae205Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1233ea6ae205Smrg esac 1234764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1235764c86d1Smrg ;; 1236ea6ae205Smrg i*86:*:3.2:*) 1237ea6ae205Smrg if test -f /usr/options/cb.name; then 1238ea6ae205Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1239764c86d1Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1240ea6ae205Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1241ea6ae205Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1242ea6ae205Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1243ea6ae205Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1244ea6ae205Smrg && UNAME_MACHINE=i586 1245ea6ae205Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1246ea6ae205Smrg && UNAME_MACHINE=i686 1247ea6ae205Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1248ea6ae205Smrg && UNAME_MACHINE=i686 1249764c86d1Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1250ea6ae205Smrg else 1251764c86d1Smrg GUESS=$UNAME_MACHINE-pc-sysv32 1252ea6ae205Smrg fi 1253764c86d1Smrg ;; 1254ea6ae205Smrg pc:*:*:*) 1255ea6ae205Smrg # Left here for compatibility: 125687aef7c3Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 125787aef7c3Smrg # the processor, so we play safe by assuming i586. 1258e83ac88aSmrg # Note: whatever this is, it MUST be the same as what config.sub 1259d87830e5Smrg # prints for the "djgpp" host, or else GDB configure will decide that 1260e83ac88aSmrg # this is a cross-build. 1261764c86d1Smrg GUESS=i586-pc-msdosdjgpp 1262764c86d1Smrg ;; 1263ea6ae205Smrg Intel:Mach:3*:*) 1264764c86d1Smrg GUESS=i386-pc-mach3 1265764c86d1Smrg ;; 1266ea6ae205Smrg paragon:*:*:*) 1267764c86d1Smrg GUESS=i860-intel-osf1 1268764c86d1Smrg ;; 1269ea6ae205Smrg i860:*:4.*:*) # i860-SVR4 1270ea6ae205Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1271764c86d1Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1272ea6ae205Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1273764c86d1Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1274ea6ae205Smrg fi 1275764c86d1Smrg ;; 1276ea6ae205Smrg mini*:CTIX:SYS*5:*) 1277ea6ae205Smrg # "miniframe" 1278764c86d1Smrg GUESS=m68010-convergent-sysv 1279764c86d1Smrg ;; 1280ea6ae205Smrg mc68k:UNIX:SYSTEM5:3.51m) 1281764c86d1Smrg GUESS=m68k-convergent-sysv 1282764c86d1Smrg ;; 1283ea6ae205Smrg M680?0:D-NIX:5.3:*) 1284764c86d1Smrg GUESS=m68k-diab-dnix 1285764c86d1Smrg ;; 1286ea6ae205Smrg M68*:*:R3V[5678]*:*) 1287ea6ae205Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1288ea6ae205Smrg 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) 1289ea6ae205Smrg OS_REL='' 1290ea6ae205Smrg test -r /etc/.relid \ 1291ea6ae205Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1292ea6ae205Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1293d87830e5Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1294ea6ae205Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1295d87830e5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1296ea6ae205Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 129787aef7c3Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129887aef7c3Smrg && { echo i486-ncr-sysv4; exit; } ;; 1299e83ac88aSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1300e83ac88aSmrg OS_REL='.3' 1301e83ac88aSmrg test -r /etc/.relid \ 1302e83ac88aSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1303e83ac88aSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1304d87830e5Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1305e83ac88aSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1306d87830e5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1307e83ac88aSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1308d87830e5Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1309ea6ae205Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1310764c86d1Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 1311764c86d1Smrg ;; 1312ea6ae205Smrg mc68030:UNIX_System_V:4.*:*) 1313764c86d1Smrg GUESS=m68k-atari-sysv4 1314764c86d1Smrg ;; 1315ea6ae205Smrg TSUNAMI:LynxOS:2.*:*) 1316764c86d1Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 1317764c86d1Smrg ;; 1318ea6ae205Smrg rs6000:LynxOS:2.*:*) 1319764c86d1Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 1320764c86d1Smrg ;; 1321b6f2c9ccSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1322764c86d1Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 1323764c86d1Smrg ;; 1324ea6ae205Smrg SM[BE]S:UNIX_SV:*:*) 1325764c86d1Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 1326764c86d1Smrg ;; 1327ea6ae205Smrg RM*:ReliantUNIX-*:*:*) 1328764c86d1Smrg GUESS=mips-sni-sysv4 1329764c86d1Smrg ;; 1330ea6ae205Smrg RM*:SINIX-*:*:*) 1331764c86d1Smrg GUESS=mips-sni-sysv4 1332764c86d1Smrg ;; 1333ea6ae205Smrg *:SINIX-*:*:*) 1334ea6ae205Smrg if uname -p 2>/dev/null >/dev/null ; then 1335ea6ae205Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1336764c86d1Smrg GUESS=$UNAME_MACHINE-sni-sysv4 1337ea6ae205Smrg else 1338764c86d1Smrg GUESS=ns32k-sni-sysv 1339ea6ae205Smrg fi 1340764c86d1Smrg ;; 134187aef7c3Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 134287aef7c3Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1343764c86d1Smrg GUESS=i586-unisys-sysv4 1344764c86d1Smrg ;; 1345ea6ae205Smrg *:UNIX_System_V:4*:FTX*) 1346ea6ae205Smrg # From Gerald Hewes <hewes@openmarket.com>. 1347ea6ae205Smrg # How about differentiating between stratus architectures? -djm 1348764c86d1Smrg GUESS=hppa1.1-stratus-sysv4 1349764c86d1Smrg ;; 1350ea6ae205Smrg *:*:*:FTX*) 1351ea6ae205Smrg # From seanf@swdc.stratus.com. 1352764c86d1Smrg GUESS=i860-stratus-sysv4 1353764c86d1Smrg ;; 1354ea6ae205Smrg i*86:VOS:*:*) 1355ea6ae205Smrg # From Paul.Green@stratus.com. 1356764c86d1Smrg GUESS=$UNAME_MACHINE-stratus-vos 1357764c86d1Smrg ;; 1358ea6ae205Smrg *:VOS:*:*) 1359ea6ae205Smrg # From Paul.Green@stratus.com. 1360764c86d1Smrg GUESS=hppa1.1-stratus-vos 1361764c86d1Smrg ;; 1362ea6ae205Smrg mc68*:A/UX:*:*) 1363764c86d1Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 1364764c86d1Smrg ;; 1365ea6ae205Smrg news*:NEWS-OS:6*:*) 1366764c86d1Smrg GUESS=mips-sony-newsos6 1367764c86d1Smrg ;; 1368ea6ae205Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1369764c86d1Smrg if test -d /usr/nec; then 1370764c86d1Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 1371ea6ae205Smrg else 1372764c86d1Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1373ea6ae205Smrg fi 1374764c86d1Smrg ;; 1375ea6ae205Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1376764c86d1Smrg GUESS=powerpc-be-beos 1377764c86d1Smrg ;; 1378ea6ae205Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1379764c86d1Smrg GUESS=powerpc-apple-beos 1380764c86d1Smrg ;; 1381ea6ae205Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1382764c86d1Smrg GUESS=i586-pc-beos 1383764c86d1Smrg ;; 1384e83ac88aSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1385764c86d1Smrg GUESS=i586-pc-haiku 1386764c86d1Smrg ;; 1387b2448f93Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 1388b2448f93Smrg GUESS=powerpc-apple-haiku 1389b2448f93Smrg ;; 1390b2448f93Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 1391b2448f93Smrg GUESS=$UNAME_MACHINE-unknown-haiku 1392764c86d1Smrg ;; 1393ea6ae205Smrg SX-4:SUPER-UX:*:*) 1394764c86d1Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 1395764c86d1Smrg ;; 1396ea6ae205Smrg SX-5:SUPER-UX:*:*) 1397764c86d1Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 1398764c86d1Smrg ;; 1399ea6ae205Smrg SX-6:SUPER-UX:*:*) 1400764c86d1Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 1401764c86d1Smrg ;; 1402ea6ae205Smrg SX-7:SUPER-UX:*:*) 1403764c86d1Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 1404764c86d1Smrg ;; 1405ea6ae205Smrg SX-8:SUPER-UX:*:*) 1406764c86d1Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 1407764c86d1Smrg ;; 1408ea6ae205Smrg SX-8R:SUPER-UX:*:*) 1409764c86d1Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 1410764c86d1Smrg ;; 1411d87830e5Smrg SX-ACE:SUPER-UX:*:*) 1412764c86d1Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 1413764c86d1Smrg ;; 1414ea6ae205Smrg Power*:Rhapsody:*:*) 1415764c86d1Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 1416764c86d1Smrg ;; 1417ea6ae205Smrg *:Rhapsody:*:*) 1418764c86d1Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 1419764c86d1Smrg ;; 1420764c86d1Smrg arm64:Darwin:*:*) 1421764c86d1Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 1422764c86d1Smrg ;; 1423ea6ae205Smrg *:Darwin:*:*) 1424764c86d1Smrg UNAME_PROCESSOR=`uname -p` 1425764c86d1Smrg case $UNAME_PROCESSOR in 1426764c86d1Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1427764c86d1Smrg esac 1428764c86d1Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1429764c86d1Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1430764c86d1Smrg # Avoid executing cc if there is no toolchain installed as 1431764c86d1Smrg # cc will be a stub that puts up a graphical alert 1432764c86d1Smrg # prompting the user to install developer tools. 1433764c86d1Smrg CC_FOR_BUILD=no_compiler_found 1434764c86d1Smrg else 1435764c86d1Smrg set_cc_for_build 143687aef7c3Smrg fi 1437764c86d1Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1438764c86d1Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1439764c86d1Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1440764c86d1Smrg grep IS_64BIT_ARCH >/dev/null 1441764c86d1Smrg then 1442764c86d1Smrg case $UNAME_PROCESSOR in 1443764c86d1Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1444764c86d1Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1445764c86d1Smrg esac 1446764c86d1Smrg fi 1447764c86d1Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1448764c86d1Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1449764c86d1Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1450764c86d1Smrg grep IS_PPC >/dev/null 1451764c86d1Smrg then 1452764c86d1Smrg UNAME_PROCESSOR=powerpc 145387aef7c3Smrg fi 145448f45e26Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1455764c86d1Smrg # uname -m returns i386 or x86_64 1456764c86d1Smrg UNAME_PROCESSOR=$UNAME_MACHINE 145787aef7c3Smrg fi 1458764c86d1Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 1459764c86d1Smrg ;; 1460ea6ae205Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1461ea6ae205Smrg UNAME_PROCESSOR=`uname -p` 1462d87830e5Smrg if test "$UNAME_PROCESSOR" = x86; then 1463ea6ae205Smrg UNAME_PROCESSOR=i386 1464ea6ae205Smrg UNAME_MACHINE=pc 1465ea6ae205Smrg fi 1466764c86d1Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 1467764c86d1Smrg ;; 1468ea6ae205Smrg *:QNX:*:4*) 1469764c86d1Smrg GUESS=i386-pc-qnx 1470764c86d1Smrg ;; 1471d87830e5Smrg NEO-*:NONSTOP_KERNEL:*:*) 1472764c86d1Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 1473764c86d1Smrg ;; 147487aef7c3Smrg NSE-*:NONSTOP_KERNEL:*:*) 1475764c86d1Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 1476764c86d1Smrg ;; 1477d87830e5Smrg NSR-*:NONSTOP_KERNEL:*:*) 1478764c86d1Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 1479764c86d1Smrg ;; 1480d87830e5Smrg NSV-*:NONSTOP_KERNEL:*:*) 1481764c86d1Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 1482764c86d1Smrg ;; 1483d87830e5Smrg NSX-*:NONSTOP_KERNEL:*:*) 1484764c86d1Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 1485764c86d1Smrg ;; 1486ea6ae205Smrg *:NonStop-UX:*:*) 1487764c86d1Smrg GUESS=mips-compaq-nonstopux 1488764c86d1Smrg ;; 1489ea6ae205Smrg BS2000:POSIX*:*:*) 1490764c86d1Smrg GUESS=bs2000-siemens-sysv 1491764c86d1Smrg ;; 1492ea6ae205Smrg DS/*:UNIX_System_V:*:*) 1493764c86d1Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 1494764c86d1Smrg ;; 1495ea6ae205Smrg *:Plan9:*:*) 1496ea6ae205Smrg # "uname -m" is not consistent, so use $cputype instead. 386 1497ea6ae205Smrg # is converted to i386 for consistency with other x86 1498ea6ae205Smrg # operating systems. 1499764c86d1Smrg if test "${cputype-}" = 386; then 1500ea6ae205Smrg UNAME_MACHINE=i386 1501764c86d1Smrg elif test "x${cputype-}" != x; then 1502764c86d1Smrg UNAME_MACHINE=$cputype 1503ea6ae205Smrg fi 1504764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-plan9 1505764c86d1Smrg ;; 1506ea6ae205Smrg *:TOPS-10:*:*) 1507764c86d1Smrg GUESS=pdp10-unknown-tops10 1508764c86d1Smrg ;; 1509ea6ae205Smrg *:TENEX:*:*) 1510764c86d1Smrg GUESS=pdp10-unknown-tenex 1511764c86d1Smrg ;; 1512ea6ae205Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1513764c86d1Smrg GUESS=pdp10-dec-tops20 1514764c86d1Smrg ;; 1515ea6ae205Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1516764c86d1Smrg GUESS=pdp10-xkl-tops20 1517764c86d1Smrg ;; 1518ea6ae205Smrg *:TOPS-20:*:*) 1519764c86d1Smrg GUESS=pdp10-unknown-tops20 1520764c86d1Smrg ;; 1521ea6ae205Smrg *:ITS:*:*) 1522764c86d1Smrg GUESS=pdp10-unknown-its 1523764c86d1Smrg ;; 1524ea6ae205Smrg SEI:*:*:SEIUX) 1525764c86d1Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 1526764c86d1Smrg ;; 1527ea6ae205Smrg *:DragonFly:*:*) 1528764c86d1Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 1529764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 1530764c86d1Smrg ;; 1531ea6ae205Smrg *:*VMS:*:*) 153287aef7c3Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1533764c86d1Smrg case $UNAME_MACHINE in 1534764c86d1Smrg A*) GUESS=alpha-dec-vms ;; 1535764c86d1Smrg I*) GUESS=ia64-dec-vms ;; 1536764c86d1Smrg V*) GUESS=vax-dec-vms ;; 1537ea6ae205Smrg esac ;; 1538ea6ae205Smrg *:XENIX:*:SysV) 1539764c86d1Smrg GUESS=i386-pc-xenix 1540764c86d1Smrg ;; 1541ea6ae205Smrg i*86:skyos:*:*) 1542764c86d1Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 1543764c86d1Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 1544764c86d1Smrg ;; 1545ea6ae205Smrg i*86:rdos:*:*) 1546764c86d1Smrg GUESS=$UNAME_MACHINE-pc-rdos 1547764c86d1Smrg ;; 1548b2448f93Smrg i*86:Fiwix:*:*) 1549b2448f93Smrg GUESS=$UNAME_MACHINE-pc-fiwix 1550b2448f93Smrg ;; 1551764c86d1Smrg *:AROS:*:*) 1552764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-aros 1553764c86d1Smrg ;; 155487aef7c3Smrg x86_64:VMkernel:*:*) 1555764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-esx 1556764c86d1Smrg ;; 1557d87830e5Smrg amd64:Isilon\ OneFS:*:*) 1558764c86d1Smrg GUESS=x86_64-unknown-onefs 1559764c86d1Smrg ;; 1560764c86d1Smrg *:Unleashed:*:*) 1561764c86d1Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 1562764c86d1Smrg ;; 1563ea6ae205Smrgesac 1564ea6ae205Smrg 1565764c86d1Smrg# Do we have a guess based on uname results? 1566764c86d1Smrgif test "x$GUESS" != x; then 1567764c86d1Smrg echo "$GUESS" 1568764c86d1Smrg exit 1569764c86d1Smrgfi 1570764c86d1Smrg 1571764c86d1Smrg# No uname command or uname output not recognized. 1572764c86d1Smrgset_cc_for_build 1573764c86d1Smrgcat > "$dummy.c" <<EOF 1574764c86d1Smrg#ifdef _SEQUENT_ 1575764c86d1Smrg#include <sys/types.h> 1576764c86d1Smrg#include <sys/utsname.h> 1577764c86d1Smrg#endif 1578764c86d1Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1579764c86d1Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1580764c86d1Smrg#include <signal.h> 1581764c86d1Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1582764c86d1Smrg#include <sys/utsname.h> 1583764c86d1Smrg#endif 1584764c86d1Smrg#endif 1585764c86d1Smrg#endif 1586764c86d1Smrgmain () 1587764c86d1Smrg{ 1588764c86d1Smrg#if defined (sony) 1589764c86d1Smrg#if defined (MIPSEB) 1590764c86d1Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1591764c86d1Smrg I don't know.... */ 1592764c86d1Smrg printf ("mips-sony-bsd\n"); exit (0); 1593764c86d1Smrg#else 1594764c86d1Smrg#include <sys/param.h> 1595764c86d1Smrg printf ("m68k-sony-newsos%s\n", 1596764c86d1Smrg#ifdef NEWSOS4 1597764c86d1Smrg "4" 1598764c86d1Smrg#else 1599764c86d1Smrg "" 1600764c86d1Smrg#endif 1601764c86d1Smrg ); exit (0); 1602764c86d1Smrg#endif 1603764c86d1Smrg#endif 1604764c86d1Smrg 1605764c86d1Smrg#if defined (NeXT) 1606764c86d1Smrg#if !defined (__ARCHITECTURE__) 1607764c86d1Smrg#define __ARCHITECTURE__ "m68k" 1608764c86d1Smrg#endif 1609764c86d1Smrg int version; 1610764c86d1Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1611764c86d1Smrg if (version < 4) 1612764c86d1Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1613764c86d1Smrg else 1614764c86d1Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1615764c86d1Smrg exit (0); 1616764c86d1Smrg#endif 1617764c86d1Smrg 1618764c86d1Smrg#if defined (MULTIMAX) || defined (n16) 1619764c86d1Smrg#if defined (UMAXV) 1620764c86d1Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1621764c86d1Smrg#else 1622764c86d1Smrg#if defined (CMU) 1623764c86d1Smrg printf ("ns32k-encore-mach\n"); exit (0); 1624764c86d1Smrg#else 1625764c86d1Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1626764c86d1Smrg#endif 1627764c86d1Smrg#endif 1628764c86d1Smrg#endif 1629764c86d1Smrg 1630764c86d1Smrg#if defined (__386BSD__) 1631764c86d1Smrg printf ("i386-pc-bsd\n"); exit (0); 1632764c86d1Smrg#endif 1633764c86d1Smrg 1634764c86d1Smrg#if defined (sequent) 1635764c86d1Smrg#if defined (i386) 1636764c86d1Smrg printf ("i386-sequent-dynix\n"); exit (0); 1637764c86d1Smrg#endif 1638764c86d1Smrg#if defined (ns32000) 1639764c86d1Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1640764c86d1Smrg#endif 1641764c86d1Smrg#endif 1642764c86d1Smrg 1643764c86d1Smrg#if defined (_SEQUENT_) 1644764c86d1Smrg struct utsname un; 1645764c86d1Smrg 1646764c86d1Smrg uname(&un); 1647764c86d1Smrg if (strncmp(un.version, "V2", 2) == 0) { 1648764c86d1Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1649764c86d1Smrg } 1650764c86d1Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1651764c86d1Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1652764c86d1Smrg } 1653764c86d1Smrg printf ("i386-sequent-ptx\n"); exit (0); 1654764c86d1Smrg#endif 1655764c86d1Smrg 1656764c86d1Smrg#if defined (vax) 1657764c86d1Smrg#if !defined (ultrix) 1658764c86d1Smrg#include <sys/param.h> 1659764c86d1Smrg#if defined (BSD) 1660764c86d1Smrg#if BSD == 43 1661764c86d1Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1662764c86d1Smrg#else 1663764c86d1Smrg#if BSD == 199006 1664764c86d1Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1665764c86d1Smrg#else 1666764c86d1Smrg printf ("vax-dec-bsd\n"); exit (0); 1667764c86d1Smrg#endif 1668764c86d1Smrg#endif 1669764c86d1Smrg#else 1670764c86d1Smrg printf ("vax-dec-bsd\n"); exit (0); 1671764c86d1Smrg#endif 1672764c86d1Smrg#else 1673764c86d1Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1674764c86d1Smrg struct utsname un; 1675764c86d1Smrg uname (&un); 1676764c86d1Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1677764c86d1Smrg#else 1678764c86d1Smrg printf ("vax-dec-ultrix\n"); exit (0); 1679764c86d1Smrg#endif 1680764c86d1Smrg#endif 1681764c86d1Smrg#endif 1682764c86d1Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1683764c86d1Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1684764c86d1Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1685764c86d1Smrg struct utsname *un; 1686764c86d1Smrg uname (&un); 1687764c86d1Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1688764c86d1Smrg#else 1689764c86d1Smrg printf ("mips-dec-ultrix\n"); exit (0); 1690764c86d1Smrg#endif 1691764c86d1Smrg#endif 1692764c86d1Smrg#endif 1693764c86d1Smrg 1694764c86d1Smrg#if defined (alliant) && defined (i860) 1695764c86d1Smrg printf ("i860-alliant-bsd\n"); exit (0); 1696764c86d1Smrg#endif 1697764c86d1Smrg 1698764c86d1Smrg exit (1); 1699764c86d1Smrg} 1700764c86d1SmrgEOF 1701764c86d1Smrg 1702764c86d1Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 1703764c86d1Smrg { echo "$SYSTEM_NAME"; exit; } 1704764c86d1Smrg 1705764c86d1Smrg# Apollos put the system type in the environment. 1706764c86d1Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1707764c86d1Smrg 1708d87830e5Smrgecho "$0: unable to guess system type" >&2 1709d87830e5Smrg 1710764c86d1Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 1711d87830e5Smrg mips:Linux | mips64:Linux) 1712d87830e5Smrg # If we got here on MIPS GNU/Linux, output extra information. 1713d87830e5Smrg cat >&2 <<EOF 1714d87830e5Smrg 1715d87830e5SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1716d87830e5Smrgthe system type. Please install a C compiler and try again. 1717d87830e5SmrgEOF 1718d87830e5Smrg ;; 1719d87830e5Smrgesac 1720d87830e5Smrg 1721ea6ae205Smrgcat >&2 <<EOF 1722ea6ae205Smrg 1723d87830e5SmrgThis script (version $timestamp), has failed to recognize the 1724d87830e5Smrgoperating system you are using. If your script is old, overwrite *all* 1725d87830e5Smrgcopies of config.guess and config.sub with the latest versions from: 1726ea6ae205Smrg 1727764c86d1Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1728ea6ae205Smrgand 1729764c86d1Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1730764c86d1SmrgEOF 1731764c86d1Smrg 1732764c86d1Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 1733764c86d1Smrgthisyear=`date +%Y` 1734764c86d1Smrg# shellcheck disable=SC2003 1735764c86d1Smrgscript_age=`expr "$thisyear" - "$our_year"` 1736764c86d1Smrgif test "$script_age" -lt 3 ; then 1737764c86d1Smrg cat >&2 <<EOF 1738ea6ae205Smrg 1739d87830e5SmrgIf $0 has already been updated, send the following data and any 1740d87830e5Smrginformation you think might be pertinent to config-patches@gnu.org to 1741d87830e5Smrgprovide the necessary information to handle your system. 1742ea6ae205Smrg 1743ea6ae205Smrgconfig.guess timestamp = $timestamp 1744ea6ae205Smrg 1745ea6ae205Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1746ea6ae205Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1747ea6ae205Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1748ea6ae205Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1749ea6ae205Smrg 1750ea6ae205Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1751ea6ae205Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1752ea6ae205Smrg 1753ea6ae205Smrghostinfo = `(hostinfo) 2>/dev/null` 1754ea6ae205Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 1755ea6ae205Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1756ea6ae205Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 1757ea6ae205Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1758ea6ae205Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1759ea6ae205Smrg 1760d87830e5SmrgUNAME_MACHINE = "$UNAME_MACHINE" 1761d87830e5SmrgUNAME_RELEASE = "$UNAME_RELEASE" 1762d87830e5SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 1763d87830e5SmrgUNAME_VERSION = "$UNAME_VERSION" 1764ea6ae205SmrgEOF 1765764c86d1Smrgfi 1766ea6ae205Smrg 1767ea6ae205Smrgexit 1 1768ea6ae205Smrg 1769ea6ae205Smrg# Local variables: 1770764c86d1Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1771ea6ae205Smrg# time-stamp-start: "timestamp='" 1772ea6ae205Smrg# time-stamp-format: "%:y-%02m-%02d" 1773ea6ae205Smrg# time-stamp-end: "'" 1774ea6ae205Smrg# End: 1775