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