1c9e2be55Smrg#! /bin/sh 2c9e2be55Smrg# Attempt to guess a canonical system name. 366d665a3Smrg# Copyright 1992-2023 Free Software Foundation, Inc. 4c9e2be55Smrg 5d859ff80Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 6d859ff80Smrg 766d665a3Smrgtimestamp='2023-01-01' 8c9e2be55Smrg 9c9e2be55Smrg# This file is free software; you can redistribute it and/or modify it 10c9e2be55Smrg# under the terms of the GNU General Public License as published by 1166d665a3Smrg# the Free Software Foundation, either version 3 of the License, or 12c9e2be55Smrg# (at your option) any later version. 13c9e2be55Smrg# 14c9e2be55Smrg# This program is distributed in the hope that it will be useful, but 15c9e2be55Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16c9e2be55Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17c9e2be55Smrg# General Public License for more details. 18c9e2be55Smrg# 19c9e2be55Smrg# You should have received a copy of the GNU General Public License 20d859ff80Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21c9e2be55Smrg# 22c9e2be55Smrg# As a special exception to the GNU General Public License, if you 23c9e2be55Smrg# distribute this file as part of a program that contains a 24c9e2be55Smrg# configuration script generated by Autoconf, you may include it under 25aef24d58Smrg# the same distribution terms that you use for the rest of that 26aef24d58Smrg# program. This Exception is an additional permission under section 7 27aef24d58Smrg# of the GNU General Public License, version 3 ("GPLv3"). 28c9e2be55Smrg# 29aef24d58Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30c9e2be55Smrg# 31e2264b6dSmrg# You can get the latest version of this script from: 32d859ff80Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33aef24d58Smrg# 34aef24d58Smrg# Please send patches to <config-patches@gnu.org>. 35aef24d58Smrg 36c9e2be55Smrg 37d859ff80Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 38d859ff80Smrg# about features and limitations of the classic Bourne shell that were 39d859ff80Smrg# superseded or lifted in POSIX. However, this script identifies a wide 40d859ff80Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 41d859ff80Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 42d859ff80Smrg# have a pre-POSIX /bin/sh. 43d859ff80Smrg 44d859ff80Smrg 45c9e2be55Smrgme=`echo "$0" | sed -e 's,.*/,,'` 46c9e2be55Smrg 47c9e2be55Smrgusage="\ 48c9e2be55SmrgUsage: $0 [OPTION] 49c9e2be55Smrg 50c9e2be55SmrgOutput the configuration name of the system \`$me' is run on. 51c9e2be55Smrg 52d859ff80SmrgOptions: 53c9e2be55Smrg -h, --help print this help, then exit 54c9e2be55Smrg -t, --time-stamp print date of last modification, then exit 55c9e2be55Smrg -v, --version print version number, then exit 56c9e2be55Smrg 57c9e2be55SmrgReport bugs and patches to <config-patches@gnu.org>." 58c9e2be55Smrg 59c9e2be55Smrgversion="\ 60c9e2be55SmrgGNU config.guess ($timestamp) 61c9e2be55Smrg 62c9e2be55SmrgOriginally written by Per Bothner. 6366d665a3SmrgCopyright 1992-2023 Free Software Foundation, Inc. 64c9e2be55Smrg 65c9e2be55SmrgThis is free software; see the source for copying conditions. There is NO 66c9e2be55Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67c9e2be55Smrg 68c9e2be55Smrghelp=" 69c9e2be55SmrgTry \`$me --help' for more information." 70c9e2be55Smrg 71c9e2be55Smrg# Parse command line 72c9e2be55Smrgwhile test $# -gt 0 ; do 73c9e2be55Smrg case $1 in 74c9e2be55Smrg --time-stamp | --time* | -t ) 75e2264b6dSmrg echo "$timestamp" ; exit ;; 76c9e2be55Smrg --version | -v ) 77e2264b6dSmrg echo "$version" ; exit ;; 78c9e2be55Smrg --help | --h* | -h ) 79e2264b6dSmrg echo "$usage"; exit ;; 80c9e2be55Smrg -- ) # Stop option processing 81c9e2be55Smrg shift; break ;; 82c9e2be55Smrg - ) # Use stdin as input. 83c9e2be55Smrg break ;; 84c9e2be55Smrg -* ) 85c9e2be55Smrg echo "$me: invalid option $1$help" >&2 86c9e2be55Smrg exit 1 ;; 87c9e2be55Smrg * ) 88c9e2be55Smrg break ;; 89c9e2be55Smrg esac 90c9e2be55Smrgdone 91c9e2be55Smrg 92c9e2be55Smrgif test $# != 0; then 93c9e2be55Smrg echo "$me: too many arguments$help" >&2 94c9e2be55Smrg exit 1 95c9e2be55Smrgfi 96c9e2be55Smrg 97d859ff80Smrg# Just in case it came from the environment. 98d859ff80SmrgGUESS= 99c9e2be55Smrg 100c9e2be55Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101c9e2be55Smrg# compiler to aid in system detection is discouraged as it requires 102c9e2be55Smrg# temporary files to be created and, as you can see below, it is a 103c9e2be55Smrg# headache to deal with in a portable fashion. 104c9e2be55Smrg 105c9e2be55Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 106c9e2be55Smrg# use `HOST_CC' if defined, but it is deprecated. 107c9e2be55Smrg 108c9e2be55Smrg# Portable tmp directory creation inspired by the Autoconf team. 109c9e2be55Smrg 110d859ff80Smrgtmp= 111d859ff80Smrg# shellcheck disable=SC2172 112d859ff80Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 113d859ff80Smrg 114d859ff80Smrgset_cc_for_build() { 115d859ff80Smrg # prevent multiple calls if $tmp is already set 116d859ff80Smrg test "$tmp" && return 0 117d859ff80Smrg : "${TMPDIR=/tmp}" 118d859ff80Smrg # shellcheck disable=SC2039,SC3028 119d859ff80Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 120d859ff80Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 121d859ff80Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 122d859ff80Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 123d859ff80Smrg dummy=$tmp/dummy 124d859ff80Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 125d859ff80Smrg ,,) echo "int x;" > "$dummy.c" 126d859ff80Smrg for driver in cc gcc c89 c99 ; do 127d859ff80Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 128d859ff80Smrg CC_FOR_BUILD=$driver 129d859ff80Smrg break 130d859ff80Smrg fi 131d859ff80Smrg done 132d859ff80Smrg if test x"$CC_FOR_BUILD" = x ; then 133d859ff80Smrg CC_FOR_BUILD=no_compiler_found 134d859ff80Smrg fi 135d859ff80Smrg ;; 136d859ff80Smrg ,,*) CC_FOR_BUILD=$CC ;; 137d859ff80Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 138d859ff80Smrg esac 139d859ff80Smrg} 140c9e2be55Smrg 141c9e2be55Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142c9e2be55Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 143d859ff80Smrgif test -f /.attbin/uname ; then 144c9e2be55Smrg PATH=$PATH:/.attbin ; export PATH 145c9e2be55Smrgfi 146c9e2be55Smrg 147c9e2be55SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148c9e2be55SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 149d859ff80SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150c9e2be55SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151c9e2be55Smrg 152d859ff80Smrgcase $UNAME_SYSTEM in 153aef24d58SmrgLinux|GNU|GNU/*) 154d859ff80Smrg LIBC=unknown 155aef24d58Smrg 156d859ff80Smrg set_cc_for_build 157d859ff80Smrg cat <<-EOF > "$dummy.c" 158aef24d58Smrg #include <features.h> 159aef24d58Smrg #if defined(__UCLIBC__) 160aef24d58Smrg LIBC=uclibc 161aef24d58Smrg #elif defined(__dietlibc__) 162aef24d58Smrg LIBC=dietlibc 163d859ff80Smrg #elif defined(__GLIBC__) 164aef24d58Smrg LIBC=gnu 165d859ff80Smrg #else 166d859ff80Smrg #include <stdarg.h> 167d859ff80Smrg /* First heuristic to detect musl libc. */ 168d859ff80Smrg #ifdef __DEFINED_va_list 169d859ff80Smrg LIBC=musl 170d859ff80Smrg #endif 171aef24d58Smrg #endif 172aef24d58Smrg EOF 173d859ff80Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 174d859ff80Smrg eval "$cc_set_libc" 175d859ff80Smrg 176d859ff80Smrg # Second heuristic to detect musl libc. 177d859ff80Smrg if [ "$LIBC" = unknown ] && 178d859ff80Smrg command -v ldd >/dev/null && 179d859ff80Smrg ldd --version 2>&1 | grep -q ^musl; then 180d859ff80Smrg LIBC=musl 181d859ff80Smrg fi 182d859ff80Smrg 183d859ff80Smrg # If the system lacks a compiler, then just pick glibc. 184d859ff80Smrg # We could probably try harder. 185d859ff80Smrg if [ "$LIBC" = unknown ]; then 186d859ff80Smrg LIBC=gnu 187d859ff80Smrg fi 188aef24d58Smrg ;; 189aef24d58Smrgesac 190aef24d58Smrg 191c9e2be55Smrg# Note: order is significant - the case branches are not exclusive. 192c9e2be55Smrg 193d859ff80Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 194c9e2be55Smrg *:NetBSD:*:*) 195c9e2be55Smrg # NetBSD (nbsd) targets should (where applicable) match one or 196aef24d58Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 197c9e2be55Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 198c9e2be55Smrg # switched to ELF, *-*-netbsd* would select the old 199c9e2be55Smrg # object file format. This provides both forward 200c9e2be55Smrg # compatibility and a consistent mechanism for selecting the 201c9e2be55Smrg # object file format. 202c9e2be55Smrg # 203c9e2be55Smrg # Note: NetBSD doesn't particularly care about the vendor 204c9e2be55Smrg # portion of the name. We always set it to "unknown". 205d859ff80Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 206d859ff80Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 207d859ff80Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 208d859ff80Smrg echo unknown)` 209d859ff80Smrg case $UNAME_MACHINE_ARCH in 210d859ff80Smrg aarch64eb) machine=aarch64_be-unknown ;; 211c9e2be55Smrg armeb) machine=armeb-unknown ;; 212c9e2be55Smrg arm*) machine=arm-unknown ;; 213c9e2be55Smrg sh3el) machine=shl-unknown ;; 214c9e2be55Smrg sh3eb) machine=sh-unknown ;; 215e2264b6dSmrg sh5el) machine=sh5le-unknown ;; 216d859ff80Smrg earmv*) 217d859ff80Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 218d859ff80Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 219d859ff80Smrg machine=${arch}${endian}-unknown 220d859ff80Smrg ;; 221d859ff80Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 222c9e2be55Smrg esac 223c9e2be55Smrg # The Operating System including object format, if it has switched 224d859ff80Smrg # to ELF recently (or will in the future) and ABI. 225d859ff80Smrg case $UNAME_MACHINE_ARCH in 226d859ff80Smrg earm*) 227d859ff80Smrg os=netbsdelf 228d859ff80Smrg ;; 229c9e2be55Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 230d859ff80Smrg set_cc_for_build 231c9e2be55Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 232e2264b6dSmrg | grep -q __ELF__ 233c9e2be55Smrg then 234c9e2be55Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 235c9e2be55Smrg # Return netbsd for either. FIX? 236c9e2be55Smrg os=netbsd 237c9e2be55Smrg else 238c9e2be55Smrg os=netbsdelf 239c9e2be55Smrg fi 240c9e2be55Smrg ;; 241c9e2be55Smrg *) 242aef24d58Smrg os=netbsd 243c9e2be55Smrg ;; 244c9e2be55Smrg esac 245d859ff80Smrg # Determine ABI tags. 246d859ff80Smrg case $UNAME_MACHINE_ARCH in 247d859ff80Smrg earm*) 248d859ff80Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 249d859ff80Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 250d859ff80Smrg ;; 251d859ff80Smrg esac 252c9e2be55Smrg # The OS release 253c9e2be55Smrg # Debian GNU/NetBSD machines have a different userland, and 254c9e2be55Smrg # thus, need a distinct triplet. However, they do not need 255c9e2be55Smrg # kernel version information, so it can be replaced with a 256c9e2be55Smrg # suitable tag, in the style of linux-gnu. 257d859ff80Smrg case $UNAME_VERSION in 258c9e2be55Smrg Debian*) 259c9e2be55Smrg release='-gnu' 260c9e2be55Smrg ;; 261c9e2be55Smrg *) 262d859ff80Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 263c9e2be55Smrg ;; 264c9e2be55Smrg esac 265c9e2be55Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 266c9e2be55Smrg # contains redundant information, the shorter form: 267c9e2be55Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 268d859ff80Smrg GUESS=$machine-${os}${release}${abi-} 269d859ff80Smrg ;; 270aef24d58Smrg *:Bitrig:*:*) 271aef24d58Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 272d859ff80Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 273d859ff80Smrg ;; 274c9e2be55Smrg *:OpenBSD:*:*) 275e2264b6dSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 276d859ff80Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 277d859ff80Smrg ;; 278d859ff80Smrg *:SecBSD:*:*) 279d859ff80Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 280d859ff80Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 281d859ff80Smrg ;; 282d859ff80Smrg *:LibertyBSD:*:*) 283d859ff80Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 284d859ff80Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 285d859ff80Smrg ;; 286d859ff80Smrg *:MidnightBSD:*:*) 287d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 288d859ff80Smrg ;; 289e2264b6dSmrg *:ekkoBSD:*:*) 290d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 291d859ff80Smrg ;; 292e2264b6dSmrg *:SolidBSD:*:*) 293d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 294d859ff80Smrg ;; 295d859ff80Smrg *:OS108:*:*) 296d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 297d859ff80Smrg ;; 298e2264b6dSmrg macppc:MirBSD:*:*) 299d859ff80Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 300d859ff80Smrg ;; 301e2264b6dSmrg *:MirBSD:*:*) 302d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 303d859ff80Smrg ;; 304d859ff80Smrg *:Sortix:*:*) 305d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-sortix 306d859ff80Smrg ;; 307d859ff80Smrg *:Twizzler:*:*) 308d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 309d859ff80Smrg ;; 310d859ff80Smrg *:Redox:*:*) 311d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-redox 312d859ff80Smrg ;; 313d859ff80Smrg mips:OSF1:*.*) 314d859ff80Smrg GUESS=mips-dec-osf1 315d859ff80Smrg ;; 316c9e2be55Smrg alpha:OSF1:*:*) 317d859ff80Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 318d859ff80Smrg trap '' 0 319e2264b6dSmrg case $UNAME_RELEASE in 320e2264b6dSmrg *4.0) 321c9e2be55Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 322e2264b6dSmrg ;; 323e2264b6dSmrg *5.*) 324aef24d58Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 325e2264b6dSmrg ;; 326e2264b6dSmrg esac 327c9e2be55Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 328c9e2be55Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 329c9e2be55Smrg # covers most systems running today. This code pipes the CPU 330c9e2be55Smrg # types through head -n 1, so we only detect the type of CPU 0. 331c9e2be55Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 332d859ff80Smrg case $ALPHA_CPU_TYPE in 333c9e2be55Smrg "EV4 (21064)") 334d859ff80Smrg UNAME_MACHINE=alpha ;; 335c9e2be55Smrg "EV4.5 (21064)") 336d859ff80Smrg UNAME_MACHINE=alpha ;; 337c9e2be55Smrg "LCA4 (21066/21068)") 338d859ff80Smrg UNAME_MACHINE=alpha ;; 339c9e2be55Smrg "EV5 (21164)") 340d859ff80Smrg UNAME_MACHINE=alphaev5 ;; 341c9e2be55Smrg "EV5.6 (21164A)") 342d859ff80Smrg UNAME_MACHINE=alphaev56 ;; 343c9e2be55Smrg "EV5.6 (21164PC)") 344d859ff80Smrg UNAME_MACHINE=alphapca56 ;; 345c9e2be55Smrg "EV5.7 (21164PC)") 346d859ff80Smrg UNAME_MACHINE=alphapca57 ;; 347c9e2be55Smrg "EV6 (21264)") 348d859ff80Smrg UNAME_MACHINE=alphaev6 ;; 349c9e2be55Smrg "EV6.7 (21264A)") 350d859ff80Smrg UNAME_MACHINE=alphaev67 ;; 351c9e2be55Smrg "EV6.8CB (21264C)") 352d859ff80Smrg UNAME_MACHINE=alphaev68 ;; 353c9e2be55Smrg "EV6.8AL (21264B)") 354d859ff80Smrg UNAME_MACHINE=alphaev68 ;; 355c9e2be55Smrg "EV6.8CX (21264D)") 356d859ff80Smrg UNAME_MACHINE=alphaev68 ;; 357c9e2be55Smrg "EV6.9A (21264/EV69A)") 358d859ff80Smrg UNAME_MACHINE=alphaev69 ;; 359c9e2be55Smrg "EV7 (21364)") 360d859ff80Smrg UNAME_MACHINE=alphaev7 ;; 361c9e2be55Smrg "EV7.9 (21364A)") 362d859ff80Smrg UNAME_MACHINE=alphaev79 ;; 363c9e2be55Smrg esac 364e2264b6dSmrg # A Pn.n version is a patched version. 365c9e2be55Smrg # A Vn.n version is a released version. 366c9e2be55Smrg # A Tn.n version is a released field test version. 367c9e2be55Smrg # A Xn.n version is an unreleased experimental baselevel. 368c9e2be55Smrg # 1.2 uses "1.2" for uname -r. 369d859ff80Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 370d859ff80Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 371d859ff80Smrg ;; 372c9e2be55Smrg Amiga*:UNIX_System_V:4.0:*) 373d859ff80Smrg GUESS=m68k-unknown-sysv4 374d859ff80Smrg ;; 375c9e2be55Smrg *:[Aa]miga[Oo][Ss]:*:*) 376d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 377d859ff80Smrg ;; 378c9e2be55Smrg *:[Mm]orph[Oo][Ss]:*:*) 379d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-morphos 380d859ff80Smrg ;; 381c9e2be55Smrg *:OS/390:*:*) 382d859ff80Smrg GUESS=i370-ibm-openedition 383d859ff80Smrg ;; 384e2264b6dSmrg *:z/VM:*:*) 385d859ff80Smrg GUESS=s390-ibm-zvmoe 386d859ff80Smrg ;; 387e2264b6dSmrg *:OS400:*:*) 388d859ff80Smrg GUESS=powerpc-ibm-os400 389d859ff80Smrg ;; 390c9e2be55Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 391d859ff80Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 392d859ff80Smrg ;; 393aef24d58Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 394d859ff80Smrg GUESS=arm-unknown-riscos 395d859ff80Smrg ;; 396c9e2be55Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 397d859ff80Smrg GUESS=hppa1.1-hitachi-hiuxmpp 398d859ff80Smrg ;; 399c9e2be55Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 400c9e2be55Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 401d859ff80Smrg case `(/bin/universe) 2>/dev/null` in 402d859ff80Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 403d859ff80Smrg *) GUESS=pyramid-pyramid-bsd ;; 404d859ff80Smrg esac 405d859ff80Smrg ;; 406c9e2be55Smrg NILE*:*:*:dcosx) 407d859ff80Smrg GUESS=pyramid-pyramid-svr4 408d859ff80Smrg ;; 409c9e2be55Smrg DRS?6000:unix:4.0:6*) 410d859ff80Smrg GUESS=sparc-icl-nx6 411d859ff80Smrg ;; 412e2264b6dSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 413c9e2be55Smrg case `/usr/bin/uname -p` in 414d859ff80Smrg sparc) GUESS=sparc-icl-nx7 ;; 415d859ff80Smrg esac 416d859ff80Smrg ;; 417e2264b6dSmrg s390x:SunOS:*:*) 418d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 419d859ff80Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 420d859ff80Smrg ;; 421c9e2be55Smrg sun4H:SunOS:5.*:*) 422d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 423d859ff80Smrg GUESS=sparc-hal-solaris2$SUN_REL 424d859ff80Smrg ;; 425c9e2be55Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 426d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 427d859ff80Smrg GUESS=sparc-sun-solaris2$SUN_REL 428d859ff80Smrg ;; 429e2264b6dSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 430d859ff80Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 431d859ff80Smrg ;; 432e2264b6dSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 433d859ff80Smrg set_cc_for_build 434d859ff80Smrg SUN_ARCH=i386 435e2264b6dSmrg # If there is a compiler, see if it is configured for 64-bit objects. 436e2264b6dSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 437e2264b6dSmrg # This test works for both compilers. 438d859ff80Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 439e2264b6dSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 44066d665a3Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 441e2264b6dSmrg grep IS_64BIT_ARCH >/dev/null 442e2264b6dSmrg then 443d859ff80Smrg SUN_ARCH=x86_64 444e2264b6dSmrg fi 445e2264b6dSmrg fi 446d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 447d859ff80Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 448d859ff80Smrg ;; 449c9e2be55Smrg sun4*:SunOS:6*:*) 450c9e2be55Smrg # According to config.sub, this is the proper way to canonicalize 451c9e2be55Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 452c9e2be55Smrg # it's likely to be more like Solaris than SunOS4. 453d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 454d859ff80Smrg GUESS=sparc-sun-solaris3$SUN_REL 455d859ff80Smrg ;; 456c9e2be55Smrg sun4*:SunOS:*:*) 457d859ff80Smrg case `/usr/bin/arch -k` in 458c9e2be55Smrg Series*|S4*) 459c9e2be55Smrg UNAME_RELEASE=`uname -v` 460c9e2be55Smrg ;; 461c9e2be55Smrg esac 462c9e2be55Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 463d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 464d859ff80Smrg GUESS=sparc-sun-sunos$SUN_REL 465d859ff80Smrg ;; 466c9e2be55Smrg sun3*:SunOS:*:*) 467d859ff80Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 468d859ff80Smrg ;; 469c9e2be55Smrg sun*:*:4.2BSD:*) 470c9e2be55Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 471d859ff80Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 472d859ff80Smrg case `/bin/arch` in 473c9e2be55Smrg sun3) 474d859ff80Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 475c9e2be55Smrg ;; 476c9e2be55Smrg sun4) 477d859ff80Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 478c9e2be55Smrg ;; 479c9e2be55Smrg esac 480d859ff80Smrg ;; 481c9e2be55Smrg aushp:SunOS:*:*) 482d859ff80Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 483d859ff80Smrg ;; 484c9e2be55Smrg # The situation for MiNT is a little confusing. The machine name 485c9e2be55Smrg # can be virtually everything (everything which is not 486c9e2be55Smrg # "atarist" or "atariste" at least should have a processor 487c9e2be55Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 488c9e2be55Smrg # to the lowercase version "mint" (or "freemint"). Finally 489c9e2be55Smrg # the system name "TOS" denotes a system which is actually not 490c9e2be55Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 491c9e2be55Smrg # be no problem. 492c9e2be55Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 493d859ff80Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 494d859ff80Smrg ;; 495c9e2be55Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 496d859ff80Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 497d859ff80Smrg ;; 498c9e2be55Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 499d859ff80Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 500d859ff80Smrg ;; 501c9e2be55Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 502d859ff80Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 503d859ff80Smrg ;; 504c9e2be55Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 505d859ff80Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 506d859ff80Smrg ;; 507c9e2be55Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 508d859ff80Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 509d859ff80Smrg ;; 510e2264b6dSmrg m68k:machten:*:*) 511d859ff80Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 512d859ff80Smrg ;; 513c9e2be55Smrg powerpc:machten:*:*) 514d859ff80Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 515d859ff80Smrg ;; 516c9e2be55Smrg RISC*:Mach:*:*) 517d859ff80Smrg GUESS=mips-dec-mach_bsd4.3 518d859ff80Smrg ;; 519c9e2be55Smrg RISC*:ULTRIX:*:*) 520d859ff80Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 521d859ff80Smrg ;; 522c9e2be55Smrg VAX*:ULTRIX*:*:*) 523d859ff80Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 524d859ff80Smrg ;; 525c9e2be55Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 526d859ff80Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 527d859ff80Smrg ;; 528c9e2be55Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 529d859ff80Smrg set_cc_for_build 530d859ff80Smrg sed 's/^ //' << EOF > "$dummy.c" 531c9e2be55Smrg#ifdef __cplusplus 532c9e2be55Smrg#include <stdio.h> /* for printf() prototype */ 533c9e2be55Smrg int main (int argc, char *argv[]) { 534c9e2be55Smrg#else 535c9e2be55Smrg int main (argc, argv) int argc; char *argv[]; { 536c9e2be55Smrg#endif 537c9e2be55Smrg #if defined (host_mips) && defined (MIPSEB) 538c9e2be55Smrg #if defined (SYSTYPE_SYSV) 539d859ff80Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 540c9e2be55Smrg #endif 541c9e2be55Smrg #if defined (SYSTYPE_SVR4) 542d859ff80Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 543c9e2be55Smrg #endif 544c9e2be55Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 545d859ff80Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 546c9e2be55Smrg #endif 547c9e2be55Smrg #endif 548c9e2be55Smrg exit (-1); 549c9e2be55Smrg } 550c9e2be55SmrgEOF 551d859ff80Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 552d859ff80Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 553d859ff80Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 554e2264b6dSmrg { echo "$SYSTEM_NAME"; exit; } 555d859ff80Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 556d859ff80Smrg ;; 557c9e2be55Smrg Motorola:PowerMAX_OS:*:*) 558d859ff80Smrg GUESS=powerpc-motorola-powermax 559d859ff80Smrg ;; 560c9e2be55Smrg Motorola:*:4.3:PL8-*) 561d859ff80Smrg GUESS=powerpc-harris-powermax 562d859ff80Smrg ;; 563c9e2be55Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 564d859ff80Smrg GUESS=powerpc-harris-powermax 565d859ff80Smrg ;; 566c9e2be55Smrg Night_Hawk:Power_UNIX:*:*) 567d859ff80Smrg GUESS=powerpc-harris-powerunix 568d859ff80Smrg ;; 569c9e2be55Smrg m88k:CX/UX:7*:*) 570d859ff80Smrg GUESS=m88k-harris-cxux7 571d859ff80Smrg ;; 572c9e2be55Smrg m88k:*:4*:R4*) 573d859ff80Smrg GUESS=m88k-motorola-sysv4 574d859ff80Smrg ;; 575c9e2be55Smrg m88k:*:3*:R3*) 576d859ff80Smrg GUESS=m88k-motorola-sysv3 577d859ff80Smrg ;; 578c9e2be55Smrg AViiON:dgux:*:*) 579aef24d58Smrg # DG/UX returns AViiON for all architectures 580aef24d58Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 581d859ff80Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 582c9e2be55Smrg then 583d859ff80Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 584d859ff80Smrg test "$TARGET_BINARY_INTERFACE"x = x 585c9e2be55Smrg then 586d859ff80Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 587c9e2be55Smrg else 588d859ff80Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 589c9e2be55Smrg fi 590c9e2be55Smrg else 591d859ff80Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 592c9e2be55Smrg fi 593d859ff80Smrg ;; 594c9e2be55Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 595d859ff80Smrg GUESS=m88k-dolphin-sysv3 596d859ff80Smrg ;; 597c9e2be55Smrg M88*:*:R3*:*) 598c9e2be55Smrg # Delta 88k system running SVR3 599d859ff80Smrg GUESS=m88k-motorola-sysv3 600d859ff80Smrg ;; 601c9e2be55Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 602d859ff80Smrg GUESS=m88k-tektronix-sysv3 603d859ff80Smrg ;; 604c9e2be55Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 605d859ff80Smrg GUESS=m68k-tektronix-bsd 606d859ff80Smrg ;; 607c9e2be55Smrg *:IRIX*:*:*) 608d859ff80Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 609d859ff80Smrg GUESS=mips-sgi-irix$IRIX_REL 610d859ff80Smrg ;; 611c9e2be55Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 612d859ff80Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 613d859ff80Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 614c9e2be55Smrg i*86:AIX:*:*) 615d859ff80Smrg GUESS=i386-ibm-aix 616d859ff80Smrg ;; 617c9e2be55Smrg ia64:AIX:*:*) 618d859ff80Smrg if test -x /usr/bin/oslevel ; then 619c9e2be55Smrg IBM_REV=`/usr/bin/oslevel` 620c9e2be55Smrg else 621d859ff80Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 622c9e2be55Smrg fi 623d859ff80Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 624d859ff80Smrg ;; 625c9e2be55Smrg *:AIX:2:3) 626c9e2be55Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 627d859ff80Smrg set_cc_for_build 628d859ff80Smrg sed 's/^ //' << EOF > "$dummy.c" 629c9e2be55Smrg #include <sys/systemcfg.h> 630c9e2be55Smrg 631c9e2be55Smrg main() 632c9e2be55Smrg { 633c9e2be55Smrg if (!__power_pc()) 634c9e2be55Smrg exit(1); 635c9e2be55Smrg puts("powerpc-ibm-aix3.2.5"); 636c9e2be55Smrg exit(0); 637c9e2be55Smrg } 638c9e2be55SmrgEOF 639d859ff80Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 640e2264b6dSmrg then 641d859ff80Smrg GUESS=$SYSTEM_NAME 642e2264b6dSmrg else 643d859ff80Smrg GUESS=rs6000-ibm-aix3.2.5 644e2264b6dSmrg fi 645c9e2be55Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 646d859ff80Smrg GUESS=rs6000-ibm-aix3.2.4 647c9e2be55Smrg else 648d859ff80Smrg GUESS=rs6000-ibm-aix3.2 649c9e2be55Smrg fi 650d859ff80Smrg ;; 651e2264b6dSmrg *:AIX:*:[4567]) 652c9e2be55Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 653d859ff80Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 654c9e2be55Smrg IBM_ARCH=rs6000 655c9e2be55Smrg else 656c9e2be55Smrg IBM_ARCH=powerpc 657c9e2be55Smrg fi 658d859ff80Smrg if test -x /usr/bin/lslpp ; then 659d859ff80Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 660aef24d58Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 661c9e2be55Smrg else 662d859ff80Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 663c9e2be55Smrg fi 664d859ff80Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 665d859ff80Smrg ;; 666c9e2be55Smrg *:AIX:*:*) 667d859ff80Smrg GUESS=rs6000-ibm-aix 668d859ff80Smrg ;; 669d859ff80Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 670d859ff80Smrg GUESS=romp-ibm-bsd4.4 671d859ff80Smrg ;; 672c9e2be55Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 673d859ff80Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 674d859ff80Smrg ;; # report: romp-ibm BSD 4.3 675c9e2be55Smrg *:BOSX:*:*) 676d859ff80Smrg GUESS=rs6000-bull-bosx 677d859ff80Smrg ;; 678c9e2be55Smrg DPX/2?00:B.O.S.:*:*) 679d859ff80Smrg GUESS=m68k-bull-sysv3 680d859ff80Smrg ;; 681c9e2be55Smrg 9000/[34]??:4.3bsd:1.*:*) 682d859ff80Smrg GUESS=m68k-hp-bsd 683d859ff80Smrg ;; 684c9e2be55Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 685d859ff80Smrg GUESS=m68k-hp-bsd4.4 686d859ff80Smrg ;; 687c9e2be55Smrg 9000/[34678]??:HP-UX:*:*) 688d859ff80Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 689d859ff80Smrg case $UNAME_MACHINE in 690d859ff80Smrg 9000/31?) HP_ARCH=m68000 ;; 691d859ff80Smrg 9000/[34]??) HP_ARCH=m68k ;; 692c9e2be55Smrg 9000/[678][0-9][0-9]) 693d859ff80Smrg if test -x /usr/bin/getconf; then 694c9e2be55Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 695aef24d58Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 696d859ff80Smrg case $sc_cpu_version in 697d859ff80Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 698d859ff80Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 699aef24d58Smrg 532) # CPU_PA_RISC2_0 700d859ff80Smrg case $sc_kernel_bits in 701d859ff80Smrg 32) HP_ARCH=hppa2.0n ;; 702d859ff80Smrg 64) HP_ARCH=hppa2.0w ;; 703d859ff80Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 704aef24d58Smrg esac ;; 705aef24d58Smrg esac 706c9e2be55Smrg fi 707d859ff80Smrg if test "$HP_ARCH" = ""; then 708d859ff80Smrg set_cc_for_build 709d859ff80Smrg sed 's/^ //' << EOF > "$dummy.c" 710c9e2be55Smrg 711aef24d58Smrg #define _HPUX_SOURCE 712aef24d58Smrg #include <stdlib.h> 713aef24d58Smrg #include <unistd.h> 714c9e2be55Smrg 715aef24d58Smrg int main () 716aef24d58Smrg { 717aef24d58Smrg #if defined(_SC_KERNEL_BITS) 718aef24d58Smrg long bits = sysconf(_SC_KERNEL_BITS); 719aef24d58Smrg #endif 720aef24d58Smrg long cpu = sysconf (_SC_CPU_VERSION); 721c9e2be55Smrg 722aef24d58Smrg switch (cpu) 723aef24d58Smrg { 724aef24d58Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 725aef24d58Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 726aef24d58Smrg case CPU_PA_RISC2_0: 727aef24d58Smrg #if defined(_SC_KERNEL_BITS) 728aef24d58Smrg switch (bits) 729aef24d58Smrg { 730aef24d58Smrg case 64: puts ("hppa2.0w"); break; 731aef24d58Smrg case 32: puts ("hppa2.0n"); break; 732aef24d58Smrg default: puts ("hppa2.0"); break; 733aef24d58Smrg } break; 734aef24d58Smrg #else /* !defined(_SC_KERNEL_BITS) */ 735aef24d58Smrg puts ("hppa2.0"); break; 736aef24d58Smrg #endif 737aef24d58Smrg default: puts ("hppa1.0"); break; 738aef24d58Smrg } 739aef24d58Smrg exit (0); 740aef24d58Smrg } 741c9e2be55SmrgEOF 742d859ff80Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 743c9e2be55Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 744c9e2be55Smrg fi ;; 745c9e2be55Smrg esac 746d859ff80Smrg if test "$HP_ARCH" = hppa2.0w 747c9e2be55Smrg then 748d859ff80Smrg set_cc_for_build 749e2264b6dSmrg 750e2264b6dSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 751e2264b6dSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 752e2264b6dSmrg # generating 64-bit code. GNU and HP use different nomenclature: 753e2264b6dSmrg # 754e2264b6dSmrg # $ CC_FOR_BUILD=cc ./config.guess 755e2264b6dSmrg # => hppa2.0w-hp-hpux11.23 756e2264b6dSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 757e2264b6dSmrg # => hppa64-hp-hpux11.23 758e2264b6dSmrg 759d859ff80Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 760e2264b6dSmrg grep -q __LP64__ 761c9e2be55Smrg then 762d859ff80Smrg HP_ARCH=hppa2.0w 763c9e2be55Smrg else 764d859ff80Smrg HP_ARCH=hppa64 765c9e2be55Smrg fi 766c9e2be55Smrg fi 767d859ff80Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 768d859ff80Smrg ;; 769c9e2be55Smrg ia64:HP-UX:*:*) 770d859ff80Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 771d859ff80Smrg GUESS=ia64-hp-hpux$HPUX_REV 772d859ff80Smrg ;; 773c9e2be55Smrg 3050*:HI-UX:*:*) 774d859ff80Smrg set_cc_for_build 775d859ff80Smrg sed 's/^ //' << EOF > "$dummy.c" 776c9e2be55Smrg #include <unistd.h> 777c9e2be55Smrg int 778c9e2be55Smrg main () 779c9e2be55Smrg { 780c9e2be55Smrg long cpu = sysconf (_SC_CPU_VERSION); 781c9e2be55Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 782c9e2be55Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 783c9e2be55Smrg results, however. */ 784c9e2be55Smrg if (CPU_IS_PA_RISC (cpu)) 785c9e2be55Smrg { 786c9e2be55Smrg switch (cpu) 787c9e2be55Smrg { 788c9e2be55Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 789c9e2be55Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 790c9e2be55Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 791c9e2be55Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 792c9e2be55Smrg } 793c9e2be55Smrg } 794c9e2be55Smrg else if (CPU_IS_HP_MC68K (cpu)) 795c9e2be55Smrg puts ("m68k-hitachi-hiuxwe2"); 796c9e2be55Smrg else puts ("unknown-hitachi-hiuxwe2"); 797c9e2be55Smrg exit (0); 798c9e2be55Smrg } 799c9e2be55SmrgEOF 800d859ff80Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 801e2264b6dSmrg { echo "$SYSTEM_NAME"; exit; } 802d859ff80Smrg GUESS=unknown-hitachi-hiuxwe2 803d859ff80Smrg ;; 804d859ff80Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 805d859ff80Smrg GUESS=hppa1.1-hp-bsd 806d859ff80Smrg ;; 807c9e2be55Smrg 9000/8??:4.3bsd:*:*) 808d859ff80Smrg GUESS=hppa1.0-hp-bsd 809d859ff80Smrg ;; 810c9e2be55Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 811d859ff80Smrg GUESS=hppa1.0-hp-mpeix 812d859ff80Smrg ;; 813d859ff80Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 814d859ff80Smrg GUESS=hppa1.1-hp-osf 815d859ff80Smrg ;; 816c9e2be55Smrg hp8??:OSF1:*:*) 817d859ff80Smrg GUESS=hppa1.0-hp-osf 818d859ff80Smrg ;; 819c9e2be55Smrg i*86:OSF1:*:*) 820d859ff80Smrg if test -x /usr/sbin/sysversion ; then 821d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 822c9e2be55Smrg else 823d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-osf1 824c9e2be55Smrg fi 825d859ff80Smrg ;; 826c9e2be55Smrg parisc*:Lites*:*:*) 827d859ff80Smrg GUESS=hppa1.1-hp-lites 828d859ff80Smrg ;; 829c9e2be55Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 830d859ff80Smrg GUESS=c1-convex-bsd 831d859ff80Smrg ;; 832c9e2be55Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 833c9e2be55Smrg if getsysinfo -f scalar_acc 834c9e2be55Smrg then echo c32-convex-bsd 835c9e2be55Smrg else echo c2-convex-bsd 836c9e2be55Smrg fi 837aef24d58Smrg exit ;; 838c9e2be55Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 839d859ff80Smrg GUESS=c34-convex-bsd 840d859ff80Smrg ;; 841c9e2be55Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 842d859ff80Smrg GUESS=c38-convex-bsd 843d859ff80Smrg ;; 844c9e2be55Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 845d859ff80Smrg GUESS=c4-convex-bsd 846d859ff80Smrg ;; 847c9e2be55Smrg CRAY*Y-MP:*:*:*) 848d859ff80Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 849d859ff80Smrg GUESS=ymp-cray-unicos$CRAY_REL 850d859ff80Smrg ;; 851c9e2be55Smrg CRAY*[A-Z]90:*:*:*) 852d859ff80Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 853c9e2be55Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 854c9e2be55Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 855c9e2be55Smrg -e 's/\.[^.]*$/.X/' 856e2264b6dSmrg exit ;; 857c9e2be55Smrg CRAY*TS:*:*:*) 858d859ff80Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 859d859ff80Smrg GUESS=t90-cray-unicos$CRAY_REL 860d859ff80Smrg ;; 861c9e2be55Smrg CRAY*T3E:*:*:*) 862d859ff80Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 863d859ff80Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 864d859ff80Smrg ;; 865c9e2be55Smrg CRAY*SV1:*:*:*) 866d859ff80Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 867d859ff80Smrg GUESS=sv1-cray-unicos$CRAY_REL 868d859ff80Smrg ;; 869c9e2be55Smrg *:UNICOS/mp:*:*) 870d859ff80Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 871d859ff80Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 872d859ff80Smrg ;; 873c9e2be55Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 874d859ff80Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 875d859ff80Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 876d859ff80Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 877d859ff80Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 878d859ff80Smrg ;; 879e2264b6dSmrg 5000:UNIX_System_V:4.*:*) 880d859ff80Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 881d859ff80Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 882d859ff80Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 883d859ff80Smrg ;; 884c9e2be55Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 885d859ff80Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 886d859ff80Smrg ;; 887c9e2be55Smrg sparc*:BSD/OS:*:*) 888d859ff80Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 889d859ff80Smrg ;; 890c9e2be55Smrg *:BSD/OS:*:*) 891d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 892d859ff80Smrg ;; 893d859ff80Smrg arm:FreeBSD:*:*) 894d859ff80Smrg UNAME_PROCESSOR=`uname -p` 895d859ff80Smrg set_cc_for_build 896d859ff80Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 897d859ff80Smrg | grep -q __ARM_PCS_VFP 898d859ff80Smrg then 899d859ff80Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 900d859ff80Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 901d859ff80Smrg else 902d859ff80Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 903d859ff80Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 904d859ff80Smrg fi 905d859ff80Smrg ;; 906e2264b6dSmrg *:FreeBSD:*:*) 907aef24d58Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 908d859ff80Smrg case $UNAME_PROCESSOR in 909e2264b6dSmrg amd64) 910d859ff80Smrg UNAME_PROCESSOR=x86_64 ;; 911d859ff80Smrg i386) 912d859ff80Smrg UNAME_PROCESSOR=i586 ;; 913e2264b6dSmrg esac 914d859ff80Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 915d859ff80Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 916d859ff80Smrg ;; 917c9e2be55Smrg i*:CYGWIN*:*) 918d859ff80Smrg GUESS=$UNAME_MACHINE-pc-cygwin 919d859ff80Smrg ;; 920aef24d58Smrg *:MINGW64*:*) 921d859ff80Smrg GUESS=$UNAME_MACHINE-pc-mingw64 922d859ff80Smrg ;; 923e2264b6dSmrg *:MINGW*:*) 924d859ff80Smrg GUESS=$UNAME_MACHINE-pc-mingw32 925d859ff80Smrg ;; 926aef24d58Smrg *:MSYS*:*) 927d859ff80Smrg GUESS=$UNAME_MACHINE-pc-msys 928d859ff80Smrg ;; 929c9e2be55Smrg i*:PW*:*) 930d859ff80Smrg GUESS=$UNAME_MACHINE-pc-pw32 931d859ff80Smrg ;; 93266d665a3Smrg *:SerenityOS:*:*) 93366d665a3Smrg GUESS=$UNAME_MACHINE-pc-serenity 93466d665a3Smrg ;; 935e2264b6dSmrg *:Interix*:*) 936d859ff80Smrg case $UNAME_MACHINE in 937e2264b6dSmrg x86) 938d859ff80Smrg GUESS=i586-pc-interix$UNAME_RELEASE 939d859ff80Smrg ;; 940e2264b6dSmrg authenticamd | genuineintel | EM64T) 941d859ff80Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 942d859ff80Smrg ;; 943e2264b6dSmrg IA64) 944d859ff80Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 945d859ff80Smrg ;; 946e2264b6dSmrg esac ;; 947c9e2be55Smrg i*:UWIN*:*) 948d859ff80Smrg GUESS=$UNAME_MACHINE-pc-uwin 949d859ff80Smrg ;; 950e2264b6dSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 951d859ff80Smrg GUESS=x86_64-pc-cygwin 952d859ff80Smrg ;; 953c9e2be55Smrg prep*:SunOS:5.*:*) 954d859ff80Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 955d859ff80Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 956d859ff80Smrg ;; 957c9e2be55Smrg *:GNU:*:*) 958e2264b6dSmrg # the GNU system 959d859ff80Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 960d859ff80Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 961d859ff80Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 962d859ff80Smrg ;; 963e2264b6dSmrg *:GNU/*:*:*) 964e2264b6dSmrg # other systems with GNU libc and userland 965d859ff80Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 966d859ff80Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 967d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 968d859ff80Smrg ;; 96966d665a3Smrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 97066d665a3Smrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 97166d665a3Smrg ;; 97266d665a3Smrg *:[Mm]anagarm:*:*) 97366d665a3Smrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 97466d665a3Smrg ;; 975d859ff80Smrg *:Minix:*:*) 976d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-minix 977d859ff80Smrg ;; 978aef24d58Smrg aarch64:Linux:*:*) 979d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 980d859ff80Smrg ;; 981aef24d58Smrg aarch64_be:Linux:*:*) 982aef24d58Smrg UNAME_MACHINE=aarch64_be 983d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 984d859ff80Smrg ;; 985e2264b6dSmrg alpha:Linux:*:*) 986d859ff80Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 987e2264b6dSmrg EV5) UNAME_MACHINE=alphaev5 ;; 988e2264b6dSmrg EV56) UNAME_MACHINE=alphaev56 ;; 989e2264b6dSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 990e2264b6dSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 991e2264b6dSmrg EV6) UNAME_MACHINE=alphaev6 ;; 992e2264b6dSmrg EV67) UNAME_MACHINE=alphaev67 ;; 993e2264b6dSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 994aef24d58Smrg esac 995e2264b6dSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 996d859ff80Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 997d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 998d859ff80Smrg ;; 999d859ff80Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 1000d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1001d859ff80Smrg ;; 1002c9e2be55Smrg arm*:Linux:*:*) 1003d859ff80Smrg set_cc_for_build 1004e2264b6dSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1005e2264b6dSmrg | grep -q __ARM_EABI__ 1006e2264b6dSmrg then 1007d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1008e2264b6dSmrg else 1009aef24d58Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1010aef24d58Smrg | grep -q __ARM_PCS_VFP 1011aef24d58Smrg then 1012d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1013aef24d58Smrg else 1014d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1015aef24d58Smrg fi 1016e2264b6dSmrg fi 1017d859ff80Smrg ;; 1018e2264b6dSmrg avr32*:Linux:*:*) 1019d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1020d859ff80Smrg ;; 1021c9e2be55Smrg cris:Linux:*:*) 1022d859ff80Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1023d859ff80Smrg ;; 1024e2264b6dSmrg crisv32:Linux:*:*) 1025d859ff80Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1026d859ff80Smrg ;; 1027d859ff80Smrg e2k:Linux:*:*) 1028d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1029d859ff80Smrg ;; 1030e2264b6dSmrg frv:Linux:*:*) 1031d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1032d859ff80Smrg ;; 1033aef24d58Smrg hexagon:Linux:*:*) 1034d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1035d859ff80Smrg ;; 1036e2264b6dSmrg i*86:Linux:*:*) 1037d859ff80Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 1038d859ff80Smrg ;; 1039e2264b6dSmrg ia64:Linux:*:*) 1040d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1041d859ff80Smrg ;; 1042d859ff80Smrg k1om:Linux:*:*) 1043d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1044d859ff80Smrg ;; 104566d665a3Smrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 1046d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1047d859ff80Smrg ;; 1048e2264b6dSmrg m32r*:Linux:*:*) 1049d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1050d859ff80Smrg ;; 1051e2264b6dSmrg m68*:Linux:*:*) 1052d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1053d859ff80Smrg ;; 1054e2264b6dSmrg mips:Linux:*:* | mips64:Linux:*:*) 1055d859ff80Smrg set_cc_for_build 1056d859ff80Smrg IS_GLIBC=0 1057d859ff80Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 1058d859ff80Smrg sed 's/^ //' << EOF > "$dummy.c" 1059c9e2be55Smrg #undef CPU 1060d859ff80Smrg #undef mips 1061d859ff80Smrg #undef mipsel 1062d859ff80Smrg #undef mips64 1063d859ff80Smrg #undef mips64el 1064d859ff80Smrg #if ${IS_GLIBC} && defined(_ABI64) 1065d859ff80Smrg LIBCABI=gnuabi64 1066d859ff80Smrg #else 1067d859ff80Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1068d859ff80Smrg LIBCABI=gnuabin32 1069d859ff80Smrg #else 1070d859ff80Smrg LIBCABI=${LIBC} 1071d859ff80Smrg #endif 1072d859ff80Smrg #endif 1073d859ff80Smrg 1074d859ff80Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1075d859ff80Smrg CPU=mipsisa64r6 1076d859ff80Smrg #else 1077d859ff80Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1078d859ff80Smrg CPU=mipsisa32r6 1079d859ff80Smrg #else 1080d859ff80Smrg #if defined(__mips64) 1081d859ff80Smrg CPU=mips64 1082d859ff80Smrg #else 1083d859ff80Smrg CPU=mips 1084d859ff80Smrg #endif 1085d859ff80Smrg #endif 1086d859ff80Smrg #endif 1087d859ff80Smrg 1088c9e2be55Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1089d859ff80Smrg MIPS_ENDIAN=el 1090c9e2be55Smrg #else 1091c9e2be55Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1092d859ff80Smrg MIPS_ENDIAN= 1093c9e2be55Smrg #else 1094d859ff80Smrg MIPS_ENDIAN= 1095c9e2be55Smrg #endif 1096c9e2be55Smrg #endif 1097c9e2be55SmrgEOF 1098d859ff80Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 1099d859ff80Smrg eval "$cc_set_vars" 1100d859ff80Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1101d859ff80Smrg ;; 1102d859ff80Smrg mips64el:Linux:*:*) 1103d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1104c9e2be55Smrg ;; 1105aef24d58Smrg openrisc*:Linux:*:*) 1106d859ff80Smrg GUESS=or1k-unknown-linux-$LIBC 1107d859ff80Smrg ;; 1108aef24d58Smrg or32:Linux:*:* | or1k*:Linux:*:*) 1109d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1110d859ff80Smrg ;; 1111e2264b6dSmrg padre:Linux:*:*) 1112d859ff80Smrg GUESS=sparc-unknown-linux-$LIBC 1113d859ff80Smrg ;; 1114e2264b6dSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1115d859ff80Smrg GUESS=hppa64-unknown-linux-$LIBC 1116d859ff80Smrg ;; 1117c9e2be55Smrg parisc:Linux:*:* | hppa:Linux:*:*) 1118c9e2be55Smrg # Look for CPU level 1119c9e2be55Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1120d859ff80Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 1121d859ff80Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 1122d859ff80Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1123c9e2be55Smrg esac 1124d859ff80Smrg ;; 1125e2264b6dSmrg ppc64:Linux:*:*) 1126d859ff80Smrg GUESS=powerpc64-unknown-linux-$LIBC 1127d859ff80Smrg ;; 1128e2264b6dSmrg ppc:Linux:*:*) 1129d859ff80Smrg GUESS=powerpc-unknown-linux-$LIBC 1130d859ff80Smrg ;; 1131aef24d58Smrg ppc64le:Linux:*:*) 1132d859ff80Smrg GUESS=powerpc64le-unknown-linux-$LIBC 1133d859ff80Smrg ;; 1134aef24d58Smrg ppcle:Linux:*:*) 1135d859ff80Smrg GUESS=powerpcle-unknown-linux-$LIBC 1136d859ff80Smrg ;; 1137d859ff80Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1138d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1139d859ff80Smrg ;; 1140c9e2be55Smrg s390:Linux:*:* | s390x:Linux:*:*) 1141d859ff80Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 1142d859ff80Smrg ;; 1143c9e2be55Smrg sh64*:Linux:*:*) 1144d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1145d859ff80Smrg ;; 1146c9e2be55Smrg sh*:Linux:*:*) 1147d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1148d859ff80Smrg ;; 1149c9e2be55Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 1150d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1151d859ff80Smrg ;; 1152e2264b6dSmrg tile*:Linux:*:*) 1153d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1154d859ff80Smrg ;; 1155e2264b6dSmrg vax:Linux:*:*) 1156d859ff80Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 1157d859ff80Smrg ;; 1158c9e2be55Smrg x86_64:Linux:*:*) 1159d859ff80Smrg set_cc_for_build 116066d665a3Smrg CPU=$UNAME_MACHINE 1161d859ff80Smrg LIBCABI=$LIBC 1162d859ff80Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 116366d665a3Smrg ABI=64 116466d665a3Smrg sed 's/^ //' << EOF > "$dummy.c" 116566d665a3Smrg #ifdef __i386__ 116666d665a3Smrg ABI=x86 116766d665a3Smrg #else 116866d665a3Smrg #ifdef __ILP32__ 116966d665a3Smrg ABI=x32 117066d665a3Smrg #endif 117166d665a3Smrg #endif 117266d665a3SmrgEOF 117366d665a3Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 117466d665a3Smrg eval "$cc_set_abi" 117566d665a3Smrg case $ABI in 117666d665a3Smrg x86) CPU=i686 ;; 117766d665a3Smrg x32) LIBCABI=${LIBC}x32 ;; 117866d665a3Smrg esac 1179d859ff80Smrg fi 118066d665a3Smrg GUESS=$CPU-pc-linux-$LIBCABI 1181d859ff80Smrg ;; 1182e2264b6dSmrg xtensa*:Linux:*:*) 1183d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1184d859ff80Smrg ;; 1185c9e2be55Smrg i*86:DYNIX/ptx:4*:*) 1186c9e2be55Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1187c9e2be55Smrg # earlier versions are messed up and put the nodename in both 1188c9e2be55Smrg # sysname and nodename. 1189d859ff80Smrg GUESS=i386-sequent-sysv4 1190d859ff80Smrg ;; 1191c9e2be55Smrg i*86:UNIX_SV:4.2MP:2.*) 1192aef24d58Smrg # Unixware is an offshoot of SVR4, but it has its own version 1193aef24d58Smrg # number series starting with 2... 1194aef24d58Smrg # I am not positive that other SVR4 systems won't match this, 1195c9e2be55Smrg # I just have to hope. -- rms. 1196aef24d58Smrg # Use sysv4.2uw... so that sysv4* matches it. 1197d859ff80Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 1198d859ff80Smrg ;; 1199c9e2be55Smrg i*86:OS/2:*:*) 1200c9e2be55Smrg # If we were able to find `uname', then EMX Unix compatibility 1201c9e2be55Smrg # is probably installed. 1202d859ff80Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 1203d859ff80Smrg ;; 1204c9e2be55Smrg i*86:XTS-300:*:STOP) 1205d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-stop 1206d859ff80Smrg ;; 1207c9e2be55Smrg i*86:atheos:*:*) 1208d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-atheos 1209d859ff80Smrg ;; 1210e2264b6dSmrg i*86:syllable:*:*) 1211d859ff80Smrg GUESS=$UNAME_MACHINE-pc-syllable 1212d859ff80Smrg ;; 1213e2264b6dSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1214d859ff80Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 1215d859ff80Smrg ;; 1216c9e2be55Smrg i*86:*DOS:*:*) 1217d859ff80Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 1218d859ff80Smrg ;; 1219d859ff80Smrg i*86:*:4.*:*) 1220d859ff80Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1221c9e2be55Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1222d859ff80Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1223c9e2be55Smrg else 1224d859ff80Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1225c9e2be55Smrg fi 1226d859ff80Smrg ;; 1227e2264b6dSmrg i*86:*:5:[678]*) 1228aef24d58Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1229c9e2be55Smrg case `/bin/uname -X | grep "^Machine"` in 1230c9e2be55Smrg *486*) UNAME_MACHINE=i486 ;; 1231c9e2be55Smrg *Pentium) UNAME_MACHINE=i586 ;; 1232c9e2be55Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1233c9e2be55Smrg esac 1234d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1235d859ff80Smrg ;; 1236c9e2be55Smrg i*86:*:3.2:*) 1237c9e2be55Smrg if test -f /usr/options/cb.name; then 1238c9e2be55Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1239d859ff80Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1240c9e2be55Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1241c9e2be55Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1242c9e2be55Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1243c9e2be55Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1244c9e2be55Smrg && UNAME_MACHINE=i586 1245c9e2be55Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1246c9e2be55Smrg && UNAME_MACHINE=i686 1247c9e2be55Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1248c9e2be55Smrg && UNAME_MACHINE=i686 1249d859ff80Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1250c9e2be55Smrg else 1251d859ff80Smrg GUESS=$UNAME_MACHINE-pc-sysv32 1252c9e2be55Smrg fi 1253d859ff80Smrg ;; 1254c9e2be55Smrg pc:*:*:*) 1255c9e2be55Smrg # Left here for compatibility: 1256aef24d58Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1257aef24d58Smrg # the processor, so we play safe by assuming i586. 1258e2264b6dSmrg # Note: whatever this is, it MUST be the same as what config.sub 1259d859ff80Smrg # prints for the "djgpp" host, or else GDB configure will decide that 1260e2264b6dSmrg # this is a cross-build. 1261d859ff80Smrg GUESS=i586-pc-msdosdjgpp 1262d859ff80Smrg ;; 1263c9e2be55Smrg Intel:Mach:3*:*) 1264d859ff80Smrg GUESS=i386-pc-mach3 1265d859ff80Smrg ;; 1266c9e2be55Smrg paragon:*:*:*) 1267d859ff80Smrg GUESS=i860-intel-osf1 1268d859ff80Smrg ;; 1269c9e2be55Smrg i860:*:4.*:*) # i860-SVR4 1270c9e2be55Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1271d859ff80Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1272c9e2be55Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1273d859ff80Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1274c9e2be55Smrg fi 1275d859ff80Smrg ;; 1276c9e2be55Smrg mini*:CTIX:SYS*5:*) 1277c9e2be55Smrg # "miniframe" 1278d859ff80Smrg GUESS=m68010-convergent-sysv 1279d859ff80Smrg ;; 1280c9e2be55Smrg mc68k:UNIX:SYSTEM5:3.51m) 1281d859ff80Smrg GUESS=m68k-convergent-sysv 1282d859ff80Smrg ;; 1283c9e2be55Smrg M680?0:D-NIX:5.3:*) 1284d859ff80Smrg GUESS=m68k-diab-dnix 1285d859ff80Smrg ;; 1286e2264b6dSmrg M68*:*:R3V[5678]*:*) 1287e2264b6dSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1288e2264b6dSmrg 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) 1289c9e2be55Smrg OS_REL='' 1290c9e2be55Smrg test -r /etc/.relid \ 1291c9e2be55Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1292c9e2be55Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1293d859ff80Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1294c9e2be55Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1295d859ff80Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1296c9e2be55Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1297aef24d58Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1298aef24d58Smrg && { echo i486-ncr-sysv4; exit; } ;; 1299e2264b6dSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1300e2264b6dSmrg OS_REL='.3' 1301e2264b6dSmrg test -r /etc/.relid \ 1302e2264b6dSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1303e2264b6dSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1304d859ff80Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1305e2264b6dSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1306d859ff80Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1307e2264b6dSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1308d859ff80Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1309c9e2be55Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1310d859ff80Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 1311d859ff80Smrg ;; 1312c9e2be55Smrg mc68030:UNIX_System_V:4.*:*) 1313d859ff80Smrg GUESS=m68k-atari-sysv4 1314d859ff80Smrg ;; 1315c9e2be55Smrg TSUNAMI:LynxOS:2.*:*) 1316d859ff80Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 1317d859ff80Smrg ;; 1318c9e2be55Smrg rs6000:LynxOS:2.*:*) 1319d859ff80Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 1320d859ff80Smrg ;; 1321e2264b6dSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1322d859ff80Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 1323d859ff80Smrg ;; 1324c9e2be55Smrg SM[BE]S:UNIX_SV:*:*) 1325d859ff80Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 1326d859ff80Smrg ;; 1327c9e2be55Smrg RM*:ReliantUNIX-*:*:*) 1328d859ff80Smrg GUESS=mips-sni-sysv4 1329d859ff80Smrg ;; 1330c9e2be55Smrg RM*:SINIX-*:*:*) 1331d859ff80Smrg GUESS=mips-sni-sysv4 1332d859ff80Smrg ;; 1333c9e2be55Smrg *:SINIX-*:*:*) 1334c9e2be55Smrg if uname -p 2>/dev/null >/dev/null ; then 1335c9e2be55Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1336d859ff80Smrg GUESS=$UNAME_MACHINE-sni-sysv4 1337c9e2be55Smrg else 1338d859ff80Smrg GUESS=ns32k-sni-sysv 1339c9e2be55Smrg fi 1340d859ff80Smrg ;; 1341aef24d58Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1342aef24d58Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1343d859ff80Smrg GUESS=i586-unisys-sysv4 1344d859ff80Smrg ;; 1345c9e2be55Smrg *:UNIX_System_V:4*:FTX*) 1346c9e2be55Smrg # From Gerald Hewes <hewes@openmarket.com>. 1347c9e2be55Smrg # How about differentiating between stratus architectures? -djm 1348d859ff80Smrg GUESS=hppa1.1-stratus-sysv4 1349d859ff80Smrg ;; 1350c9e2be55Smrg *:*:*:FTX*) 1351c9e2be55Smrg # From seanf@swdc.stratus.com. 1352d859ff80Smrg GUESS=i860-stratus-sysv4 1353d859ff80Smrg ;; 1354e2264b6dSmrg i*86:VOS:*:*) 1355e2264b6dSmrg # From Paul.Green@stratus.com. 1356d859ff80Smrg GUESS=$UNAME_MACHINE-stratus-vos 1357d859ff80Smrg ;; 1358c9e2be55Smrg *:VOS:*:*) 1359c9e2be55Smrg # From Paul.Green@stratus.com. 1360d859ff80Smrg GUESS=hppa1.1-stratus-vos 1361d859ff80Smrg ;; 1362c9e2be55Smrg mc68*:A/UX:*:*) 1363d859ff80Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 1364d859ff80Smrg ;; 1365c9e2be55Smrg news*:NEWS-OS:6*:*) 1366d859ff80Smrg GUESS=mips-sony-newsos6 1367d859ff80Smrg ;; 1368c9e2be55Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1369d859ff80Smrg if test -d /usr/nec; then 1370d859ff80Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 1371c9e2be55Smrg else 1372d859ff80Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1373c9e2be55Smrg fi 1374d859ff80Smrg ;; 1375c9e2be55Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1376d859ff80Smrg GUESS=powerpc-be-beos 1377d859ff80Smrg ;; 1378c9e2be55Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1379d859ff80Smrg GUESS=powerpc-apple-beos 1380d859ff80Smrg ;; 1381c9e2be55Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1382d859ff80Smrg GUESS=i586-pc-beos 1383d859ff80Smrg ;; 1384e2264b6dSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1385d859ff80Smrg GUESS=i586-pc-haiku 1386d859ff80Smrg ;; 138766d665a3Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 138866d665a3Smrg GUESS=powerpc-apple-haiku 138966d665a3Smrg ;; 139066d665a3Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 139166d665a3Smrg GUESS=$UNAME_MACHINE-unknown-haiku 1392d859ff80Smrg ;; 1393c9e2be55Smrg SX-4:SUPER-UX:*:*) 1394d859ff80Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 1395d859ff80Smrg ;; 1396c9e2be55Smrg SX-5:SUPER-UX:*:*) 1397d859ff80Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 1398d859ff80Smrg ;; 1399c9e2be55Smrg SX-6:SUPER-UX:*:*) 1400d859ff80Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 1401d859ff80Smrg ;; 1402e2264b6dSmrg SX-7:SUPER-UX:*:*) 1403d859ff80Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 1404d859ff80Smrg ;; 1405e2264b6dSmrg SX-8:SUPER-UX:*:*) 1406d859ff80Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 1407d859ff80Smrg ;; 1408e2264b6dSmrg SX-8R:SUPER-UX:*:*) 1409d859ff80Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 1410d859ff80Smrg ;; 1411d859ff80Smrg SX-ACE:SUPER-UX:*:*) 1412d859ff80Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 1413d859ff80Smrg ;; 1414c9e2be55Smrg Power*:Rhapsody:*:*) 1415d859ff80Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 1416d859ff80Smrg ;; 1417c9e2be55Smrg *:Rhapsody:*:*) 1418d859ff80Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 1419d859ff80Smrg ;; 1420d859ff80Smrg arm64:Darwin:*:*) 1421d859ff80Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 1422d859ff80Smrg ;; 1423c9e2be55Smrg *:Darwin:*:*) 1424d859ff80Smrg UNAME_PROCESSOR=`uname -p` 1425d859ff80Smrg case $UNAME_PROCESSOR in 1426d859ff80Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1427d859ff80Smrg esac 1428d859ff80Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1429d859ff80Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1430d859ff80Smrg # Avoid executing cc if there is no toolchain installed as 1431d859ff80Smrg # cc will be a stub that puts up a graphical alert 1432d859ff80Smrg # prompting the user to install developer tools. 1433d859ff80Smrg CC_FOR_BUILD=no_compiler_found 1434d859ff80Smrg else 1435d859ff80Smrg set_cc_for_build 1436aef24d58Smrg fi 1437d859ff80Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1438d859ff80Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1439d859ff80Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1440d859ff80Smrg grep IS_64BIT_ARCH >/dev/null 1441d859ff80Smrg then 1442d859ff80Smrg case $UNAME_PROCESSOR in 1443d859ff80Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1444d859ff80Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1445d859ff80Smrg esac 1446d859ff80Smrg fi 1447d859ff80Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1448d859ff80Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1449d859ff80Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1450d859ff80Smrg grep IS_PPC >/dev/null 1451d859ff80Smrg then 1452d859ff80Smrg UNAME_PROCESSOR=powerpc 1453aef24d58Smrg fi 1454aef24d58Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1455d859ff80Smrg # uname -m returns i386 or x86_64 1456d859ff80Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1457aef24d58Smrg fi 1458d859ff80Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 1459d859ff80Smrg ;; 1460c9e2be55Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1461c9e2be55Smrg UNAME_PROCESSOR=`uname -p` 1462d859ff80Smrg if test "$UNAME_PROCESSOR" = x86; then 1463c9e2be55Smrg UNAME_PROCESSOR=i386 1464c9e2be55Smrg UNAME_MACHINE=pc 1465c9e2be55Smrg fi 1466d859ff80Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 1467d859ff80Smrg ;; 1468c9e2be55Smrg *:QNX:*:4*) 1469d859ff80Smrg GUESS=i386-pc-qnx 1470d859ff80Smrg ;; 1471d859ff80Smrg NEO-*:NONSTOP_KERNEL:*:*) 1472d859ff80Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 1473d859ff80Smrg ;; 1474aef24d58Smrg NSE-*:NONSTOP_KERNEL:*:*) 1475d859ff80Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 1476d859ff80Smrg ;; 1477d859ff80Smrg NSR-*:NONSTOP_KERNEL:*:*) 1478d859ff80Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 1479d859ff80Smrg ;; 1480d859ff80Smrg NSV-*:NONSTOP_KERNEL:*:*) 1481d859ff80Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 1482d859ff80Smrg ;; 1483d859ff80Smrg NSX-*:NONSTOP_KERNEL:*:*) 1484d859ff80Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 1485d859ff80Smrg ;; 1486c9e2be55Smrg *:NonStop-UX:*:*) 1487d859ff80Smrg GUESS=mips-compaq-nonstopux 1488d859ff80Smrg ;; 1489c9e2be55Smrg BS2000:POSIX*:*:*) 1490d859ff80Smrg GUESS=bs2000-siemens-sysv 1491d859ff80Smrg ;; 1492c9e2be55Smrg DS/*:UNIX_System_V:*:*) 1493d859ff80Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 1494d859ff80Smrg ;; 1495c9e2be55Smrg *:Plan9:*:*) 1496c9e2be55Smrg # "uname -m" is not consistent, so use $cputype instead. 386 1497c9e2be55Smrg # is converted to i386 for consistency with other x86 1498c9e2be55Smrg # operating systems. 1499d859ff80Smrg if test "${cputype-}" = 386; then 1500c9e2be55Smrg UNAME_MACHINE=i386 1501d859ff80Smrg elif test "x${cputype-}" != x; then 1502d859ff80Smrg UNAME_MACHINE=$cputype 1503c9e2be55Smrg fi 1504d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-plan9 1505d859ff80Smrg ;; 1506c9e2be55Smrg *:TOPS-10:*:*) 1507d859ff80Smrg GUESS=pdp10-unknown-tops10 1508d859ff80Smrg ;; 1509c9e2be55Smrg *:TENEX:*:*) 1510d859ff80Smrg GUESS=pdp10-unknown-tenex 1511d859ff80Smrg ;; 1512c9e2be55Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1513d859ff80Smrg GUESS=pdp10-dec-tops20 1514d859ff80Smrg ;; 1515c9e2be55Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1516d859ff80Smrg GUESS=pdp10-xkl-tops20 1517d859ff80Smrg ;; 1518c9e2be55Smrg *:TOPS-20:*:*) 1519d859ff80Smrg GUESS=pdp10-unknown-tops20 1520d859ff80Smrg ;; 1521c9e2be55Smrg *:ITS:*:*) 1522d859ff80Smrg GUESS=pdp10-unknown-its 1523d859ff80Smrg ;; 1524c9e2be55Smrg SEI:*:*:SEIUX) 1525d859ff80Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 1526d859ff80Smrg ;; 1527e2264b6dSmrg *:DragonFly:*:*) 1528d859ff80Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 1529d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 1530d859ff80Smrg ;; 1531e2264b6dSmrg *:*VMS:*:*) 1532aef24d58Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1533d859ff80Smrg case $UNAME_MACHINE in 1534d859ff80Smrg A*) GUESS=alpha-dec-vms ;; 1535d859ff80Smrg I*) GUESS=ia64-dec-vms ;; 1536d859ff80Smrg V*) GUESS=vax-dec-vms ;; 1537e2264b6dSmrg esac ;; 1538e2264b6dSmrg *:XENIX:*:SysV) 1539d859ff80Smrg GUESS=i386-pc-xenix 1540d859ff80Smrg ;; 1541e2264b6dSmrg i*86:skyos:*:*) 1542d859ff80Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 1543d859ff80Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 1544d859ff80Smrg ;; 1545e2264b6dSmrg i*86:rdos:*:*) 1546d859ff80Smrg GUESS=$UNAME_MACHINE-pc-rdos 1547d859ff80Smrg ;; 154866d665a3Smrg i*86:Fiwix:*:*) 154966d665a3Smrg GUESS=$UNAME_MACHINE-pc-fiwix 155066d665a3Smrg ;; 1551d859ff80Smrg *:AROS:*:*) 1552d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-aros 1553d859ff80Smrg ;; 1554aef24d58Smrg x86_64:VMkernel:*:*) 1555d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-esx 1556d859ff80Smrg ;; 1557d859ff80Smrg amd64:Isilon\ OneFS:*:*) 1558d859ff80Smrg GUESS=x86_64-unknown-onefs 1559d859ff80Smrg ;; 1560d859ff80Smrg *:Unleashed:*:*) 1561d859ff80Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 1562d859ff80Smrg ;; 1563d859ff80Smrgesac 1564d859ff80Smrg 1565d859ff80Smrg# Do we have a guess based on uname results? 1566d859ff80Smrgif test "x$GUESS" != x; then 1567d859ff80Smrg echo "$GUESS" 1568d859ff80Smrg exit 1569d859ff80Smrgfi 1570d859ff80Smrg 1571d859ff80Smrg# No uname command or uname output not recognized. 1572d859ff80Smrgset_cc_for_build 1573d859ff80Smrgcat > "$dummy.c" <<EOF 1574d859ff80Smrg#ifdef _SEQUENT_ 1575d859ff80Smrg#include <sys/types.h> 1576d859ff80Smrg#include <sys/utsname.h> 1577d859ff80Smrg#endif 1578d859ff80Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1579d859ff80Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1580d859ff80Smrg#include <signal.h> 1581d859ff80Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1582d859ff80Smrg#include <sys/utsname.h> 1583d859ff80Smrg#endif 1584d859ff80Smrg#endif 1585d859ff80Smrg#endif 1586d859ff80Smrgmain () 1587d859ff80Smrg{ 1588d859ff80Smrg#if defined (sony) 1589d859ff80Smrg#if defined (MIPSEB) 1590d859ff80Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1591d859ff80Smrg I don't know.... */ 1592d859ff80Smrg printf ("mips-sony-bsd\n"); exit (0); 1593d859ff80Smrg#else 1594d859ff80Smrg#include <sys/param.h> 1595d859ff80Smrg printf ("m68k-sony-newsos%s\n", 1596d859ff80Smrg#ifdef NEWSOS4 1597d859ff80Smrg "4" 1598d859ff80Smrg#else 1599d859ff80Smrg "" 1600d859ff80Smrg#endif 1601d859ff80Smrg ); exit (0); 1602d859ff80Smrg#endif 1603d859ff80Smrg#endif 1604d859ff80Smrg 1605d859ff80Smrg#if defined (NeXT) 1606d859ff80Smrg#if !defined (__ARCHITECTURE__) 1607d859ff80Smrg#define __ARCHITECTURE__ "m68k" 1608d859ff80Smrg#endif 1609d859ff80Smrg int version; 1610d859ff80Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1611d859ff80Smrg if (version < 4) 1612d859ff80Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1613d859ff80Smrg else 1614d859ff80Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1615d859ff80Smrg exit (0); 1616d859ff80Smrg#endif 1617d859ff80Smrg 1618d859ff80Smrg#if defined (MULTIMAX) || defined (n16) 1619d859ff80Smrg#if defined (UMAXV) 1620d859ff80Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1621d859ff80Smrg#else 1622d859ff80Smrg#if defined (CMU) 1623d859ff80Smrg printf ("ns32k-encore-mach\n"); exit (0); 1624d859ff80Smrg#else 1625d859ff80Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1626d859ff80Smrg#endif 1627d859ff80Smrg#endif 1628d859ff80Smrg#endif 1629d859ff80Smrg 1630d859ff80Smrg#if defined (__386BSD__) 1631d859ff80Smrg printf ("i386-pc-bsd\n"); exit (0); 1632d859ff80Smrg#endif 1633d859ff80Smrg 1634d859ff80Smrg#if defined (sequent) 1635d859ff80Smrg#if defined (i386) 1636d859ff80Smrg printf ("i386-sequent-dynix\n"); exit (0); 1637d859ff80Smrg#endif 1638d859ff80Smrg#if defined (ns32000) 1639d859ff80Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1640d859ff80Smrg#endif 1641d859ff80Smrg#endif 1642d859ff80Smrg 1643d859ff80Smrg#if defined (_SEQUENT_) 1644d859ff80Smrg struct utsname un; 1645d859ff80Smrg 1646d859ff80Smrg uname(&un); 1647d859ff80Smrg if (strncmp(un.version, "V2", 2) == 0) { 1648d859ff80Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1649d859ff80Smrg } 1650d859ff80Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1651d859ff80Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1652d859ff80Smrg } 1653d859ff80Smrg printf ("i386-sequent-ptx\n"); exit (0); 1654d859ff80Smrg#endif 1655d859ff80Smrg 1656d859ff80Smrg#if defined (vax) 1657d859ff80Smrg#if !defined (ultrix) 1658d859ff80Smrg#include <sys/param.h> 1659d859ff80Smrg#if defined (BSD) 1660d859ff80Smrg#if BSD == 43 1661d859ff80Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1662d859ff80Smrg#else 1663d859ff80Smrg#if BSD == 199006 1664d859ff80Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1665d859ff80Smrg#else 1666d859ff80Smrg printf ("vax-dec-bsd\n"); exit (0); 1667d859ff80Smrg#endif 1668d859ff80Smrg#endif 1669d859ff80Smrg#else 1670d859ff80Smrg printf ("vax-dec-bsd\n"); exit (0); 1671d859ff80Smrg#endif 1672d859ff80Smrg#else 1673d859ff80Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1674d859ff80Smrg struct utsname un; 1675d859ff80Smrg uname (&un); 1676d859ff80Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1677d859ff80Smrg#else 1678d859ff80Smrg printf ("vax-dec-ultrix\n"); exit (0); 1679d859ff80Smrg#endif 1680d859ff80Smrg#endif 1681d859ff80Smrg#endif 1682d859ff80Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1683d859ff80Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1684d859ff80Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1685d859ff80Smrg struct utsname *un; 1686d859ff80Smrg uname (&un); 1687d859ff80Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1688d859ff80Smrg#else 1689d859ff80Smrg printf ("mips-dec-ultrix\n"); exit (0); 1690d859ff80Smrg#endif 1691d859ff80Smrg#endif 1692d859ff80Smrg#endif 1693d859ff80Smrg 1694d859ff80Smrg#if defined (alliant) && defined (i860) 1695d859ff80Smrg printf ("i860-alliant-bsd\n"); exit (0); 1696d859ff80Smrg#endif 1697d859ff80Smrg 1698d859ff80Smrg exit (1); 1699d859ff80Smrg} 1700d859ff80SmrgEOF 1701d859ff80Smrg 1702d859ff80Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 1703d859ff80Smrg { echo "$SYSTEM_NAME"; exit; } 1704d859ff80Smrg 1705d859ff80Smrg# Apollos put the system type in the environment. 1706d859ff80Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1707d859ff80Smrg 1708d859ff80Smrgecho "$0: unable to guess system type" >&2 1709d859ff80Smrg 1710d859ff80Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 1711d859ff80Smrg mips:Linux | mips64:Linux) 1712d859ff80Smrg # If we got here on MIPS GNU/Linux, output extra information. 1713d859ff80Smrg cat >&2 <<EOF 1714d859ff80Smrg 1715d859ff80SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1716d859ff80Smrgthe system type. Please install a C compiler and try again. 1717d859ff80SmrgEOF 1718d859ff80Smrg ;; 1719aef24d58Smrgesac 1720c9e2be55Smrg 1721c9e2be55Smrgcat >&2 <<EOF 1722c9e2be55Smrg 1723d859ff80SmrgThis script (version $timestamp), has failed to recognize the 1724d859ff80Smrgoperating system you are using. If your script is old, overwrite *all* 1725d859ff80Smrgcopies of config.guess and config.sub with the latest versions from: 1726c9e2be55Smrg 1727d859ff80Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1728e2264b6dSmrgand 1729d859ff80Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1730d859ff80SmrgEOF 1731c9e2be55Smrg 1732d859ff80Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 1733d859ff80Smrgthisyear=`date +%Y` 1734d859ff80Smrg# shellcheck disable=SC2003 1735d859ff80Smrgscript_age=`expr "$thisyear" - "$our_year"` 1736d859ff80Smrgif test "$script_age" -lt 3 ; then 1737d859ff80Smrg cat >&2 <<EOF 1738d859ff80Smrg 1739d859ff80SmrgIf $0 has already been updated, send the following data and any 1740d859ff80Smrginformation you think might be pertinent to config-patches@gnu.org to 1741d859ff80Smrgprovide the necessary information to handle your system. 1742c9e2be55Smrg 1743c9e2be55Smrgconfig.guess timestamp = $timestamp 1744c9e2be55Smrg 1745c9e2be55Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1746c9e2be55Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1747c9e2be55Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1748c9e2be55Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1749c9e2be55Smrg 1750c9e2be55Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1751c9e2be55Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1752c9e2be55Smrg 1753c9e2be55Smrghostinfo = `(hostinfo) 2>/dev/null` 1754c9e2be55Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 1755c9e2be55Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1756c9e2be55Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 1757c9e2be55Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1758c9e2be55Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1759c9e2be55Smrg 1760d859ff80SmrgUNAME_MACHINE = "$UNAME_MACHINE" 1761d859ff80SmrgUNAME_RELEASE = "$UNAME_RELEASE" 1762d859ff80SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 1763d859ff80SmrgUNAME_VERSION = "$UNAME_VERSION" 1764c9e2be55SmrgEOF 1765d859ff80Smrgfi 1766c9e2be55Smrg 1767c9e2be55Smrgexit 1 1768c9e2be55Smrg 1769c9e2be55Smrg# Local variables: 1770d859ff80Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1771c9e2be55Smrg# time-stamp-start: "timestamp='" 1772c9e2be55Smrg# time-stamp-format: "%:y-%02m-%02d" 1773c9e2be55Smrg# time-stamp-end: "'" 1774c9e2be55Smrg# End: 1775