config.guess revision 49bee38c
1fc89c0fbSmrg#! /bin/sh 2fc89c0fbSmrg# Attempt to guess a canonical system name. 349bee38cSmrg# Copyright 1992-2021 Free Software Foundation, Inc. 4fc89c0fbSmrg 549bee38cSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 649bee38cSmrg 749bee38cSmrgtimestamp='2021-06-03' 8fc89c0fbSmrg 9fc89c0fbSmrg# This file is free software; you can redistribute it and/or modify it 10fc89c0fbSmrg# under the terms of the GNU General Public License as published by 11576bbdfcSmrg# the Free Software Foundation; either version 3 of the License, or 12fc89c0fbSmrg# (at your option) any later version. 13fc89c0fbSmrg# 14fc89c0fbSmrg# This program is distributed in the hope that it will be useful, but 15fc89c0fbSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16fc89c0fbSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17fc89c0fbSmrg# General Public License for more details. 18fc89c0fbSmrg# 19fc89c0fbSmrg# You should have received a copy of the GNU General Public License 2081676fe2Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21fc89c0fbSmrg# 22fc89c0fbSmrg# As a special exception to the GNU General Public License, if you 23fc89c0fbSmrg# distribute this file as part of a program that contains a 24fc89c0fbSmrg# configuration script generated by Autoconf, you may include it under 25576bbdfcSmrg# the same distribution terms that you use for the rest of that 26576bbdfcSmrg# program. This Exception is an additional permission under section 7 27576bbdfcSmrg# of the GNU General Public License, version 3 ("GPLv3"). 28fc89c0fbSmrg# 2981676fe2Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30fc89c0fbSmrg# 31a0996ce0Smrg# You can get the latest version of this script from: 3249bee38cSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33576bbdfcSmrg# 3481676fe2Smrg# Please send patches to <config-patches@gnu.org>. 35576bbdfcSmrg 36fc89c0fbSmrg 3749bee38cSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 3849bee38cSmrg# about features and limitations of the classic Bourne shell that were 3949bee38cSmrg# superseded or lifted in POSIX. However, this script identifies a wide 4049bee38cSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 4149bee38cSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 4249bee38cSmrg# have a pre-POSIX /bin/sh. 4349bee38cSmrg 4449bee38cSmrg 45fc89c0fbSmrgme=`echo "$0" | sed -e 's,.*/,,'` 46fc89c0fbSmrg 47fc89c0fbSmrgusage="\ 48fc89c0fbSmrgUsage: $0 [OPTION] 49fc89c0fbSmrg 50fc89c0fbSmrgOutput the configuration name of the system \`$me' is run on. 51fc89c0fbSmrg 5281676fe2SmrgOptions: 53fc89c0fbSmrg -h, --help print this help, then exit 54fc89c0fbSmrg -t, --time-stamp print date of last modification, then exit 55fc89c0fbSmrg -v, --version print version number, then exit 56fc89c0fbSmrg 57fc89c0fbSmrgReport bugs and patches to <config-patches@gnu.org>." 58fc89c0fbSmrg 59fc89c0fbSmrgversion="\ 60fc89c0fbSmrgGNU config.guess ($timestamp) 61fc89c0fbSmrg 62fc89c0fbSmrgOriginally written by Per Bothner. 6349bee38cSmrgCopyright 1992-2021 Free Software Foundation, Inc. 64fc89c0fbSmrg 65fc89c0fbSmrgThis is free software; see the source for copying conditions. There is NO 66fc89c0fbSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67fc89c0fbSmrg 68fc89c0fbSmrghelp=" 69fc89c0fbSmrgTry \`$me --help' for more information." 70fc89c0fbSmrg 71fc89c0fbSmrg# Parse command line 72fc89c0fbSmrgwhile test $# -gt 0 ; do 73fc89c0fbSmrg case $1 in 74fc89c0fbSmrg --time-stamp | --time* | -t ) 75fc89c0fbSmrg echo "$timestamp" ; exit ;; 76fc89c0fbSmrg --version | -v ) 77fc89c0fbSmrg echo "$version" ; exit ;; 78fc89c0fbSmrg --help | --h* | -h ) 79fc89c0fbSmrg echo "$usage"; exit ;; 80fc89c0fbSmrg -- ) # Stop option processing 81fc89c0fbSmrg shift; break ;; 82fc89c0fbSmrg - ) # Use stdin as input. 83fc89c0fbSmrg break ;; 84fc89c0fbSmrg -* ) 85fc89c0fbSmrg echo "$me: invalid option $1$help" >&2 86fc89c0fbSmrg exit 1 ;; 87fc89c0fbSmrg * ) 88fc89c0fbSmrg break ;; 89fc89c0fbSmrg esac 90fc89c0fbSmrgdone 91fc89c0fbSmrg 92fc89c0fbSmrgif test $# != 0; then 93fc89c0fbSmrg echo "$me: too many arguments$help" >&2 94fc89c0fbSmrg exit 1 95fc89c0fbSmrgfi 96fc89c0fbSmrg 9749bee38cSmrg# Just in case it came from the environment. 9849bee38cSmrgGUESS= 99fc89c0fbSmrg 100fc89c0fbSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101fc89c0fbSmrg# compiler to aid in system detection is discouraged as it requires 102fc89c0fbSmrg# temporary files to be created and, as you can see below, it is a 103fc89c0fbSmrg# headache to deal with in a portable fashion. 104fc89c0fbSmrg 105fc89c0fbSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 106fc89c0fbSmrg# use `HOST_CC' if defined, but it is deprecated. 107fc89c0fbSmrg 108fc89c0fbSmrg# Portable tmp directory creation inspired by the Autoconf team. 109fc89c0fbSmrg 11049bee38cSmrgtmp= 11149bee38cSmrg# shellcheck disable=SC2172 11249bee38cSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11349bee38cSmrg 11449bee38cSmrgset_cc_for_build() { 11549bee38cSmrg # prevent multiple calls if $tmp is already set 11649bee38cSmrg test "$tmp" && return 0 11749bee38cSmrg : "${TMPDIR=/tmp}" 11849bee38cSmrg # shellcheck disable=SC2039,SC3028 11949bee38cSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12049bee38cSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12149bee38cSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12249bee38cSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12349bee38cSmrg dummy=$tmp/dummy 12449bee38cSmrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12549bee38cSmrg ,,) echo "int x;" > "$dummy.c" 12649bee38cSmrg for driver in cc gcc c89 c99 ; do 12749bee38cSmrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 12849bee38cSmrg CC_FOR_BUILD=$driver 12949bee38cSmrg break 13049bee38cSmrg fi 13149bee38cSmrg done 13249bee38cSmrg if test x"$CC_FOR_BUILD" = x ; then 13349bee38cSmrg CC_FOR_BUILD=no_compiler_found 13449bee38cSmrg fi 13549bee38cSmrg ;; 13649bee38cSmrg ,,*) CC_FOR_BUILD=$CC ;; 13749bee38cSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13849bee38cSmrg esac 13949bee38cSmrg} 140fc89c0fbSmrg 141fc89c0fbSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142fc89c0fbSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 14349bee38cSmrgif test -f /.attbin/uname ; then 144fc89c0fbSmrg PATH=$PATH:/.attbin ; export PATH 145fc89c0fbSmrgfi 146fc89c0fbSmrg 147fc89c0fbSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148fc89c0fbSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 14949bee38cSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150fc89c0fbSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151fc89c0fbSmrg 15249bee38cSmrgcase $UNAME_SYSTEM in 153576bbdfcSmrgLinux|GNU|GNU/*) 15449bee38cSmrg LIBC=unknown 155576bbdfcSmrg 15649bee38cSmrg set_cc_for_build 15781676fe2Smrg cat <<-EOF > "$dummy.c" 158576bbdfcSmrg #include <features.h> 159576bbdfcSmrg #if defined(__UCLIBC__) 160576bbdfcSmrg LIBC=uclibc 161576bbdfcSmrg #elif defined(__dietlibc__) 162576bbdfcSmrg LIBC=dietlibc 16349bee38cSmrg #elif defined(__GLIBC__) 164576bbdfcSmrg LIBC=gnu 16549bee38cSmrg #else 16649bee38cSmrg #include <stdarg.h> 16749bee38cSmrg /* First heuristic to detect musl libc. */ 16849bee38cSmrg #ifdef __DEFINED_va_list 16949bee38cSmrg LIBC=musl 17049bee38cSmrg #endif 171576bbdfcSmrg #endif 172576bbdfcSmrg EOF 17349bee38cSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 17449bee38cSmrg eval "$cc_set_libc" 17581676fe2Smrg 17649bee38cSmrg # Second heuristic to detect musl libc. 17749bee38cSmrg if [ "$LIBC" = unknown ] && 17849bee38cSmrg command -v ldd >/dev/null && 17949bee38cSmrg ldd --version 2>&1 | grep -q ^musl; then 18049bee38cSmrg LIBC=musl 18149bee38cSmrg fi 18249bee38cSmrg 18349bee38cSmrg # If the system lacks a compiler, then just pick glibc. 18449bee38cSmrg # We could probably try harder. 18549bee38cSmrg if [ "$LIBC" = unknown ]; then 18649bee38cSmrg LIBC=gnu 18781676fe2Smrg fi 188576bbdfcSmrg ;; 189576bbdfcSmrgesac 190576bbdfcSmrg 191fc89c0fbSmrg# Note: order is significant - the case branches are not exclusive. 192fc89c0fbSmrg 19349bee38cSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 194fc89c0fbSmrg *:NetBSD:*:*) 195fc89c0fbSmrg # NetBSD (nbsd) targets should (where applicable) match one or 196576bbdfcSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 197fc89c0fbSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 198fc89c0fbSmrg # switched to ELF, *-*-netbsd* would select the old 199fc89c0fbSmrg # object file format. This provides both forward 200fc89c0fbSmrg # compatibility and a consistent mechanism for selecting the 201fc89c0fbSmrg # object file format. 202fc89c0fbSmrg # 203fc89c0fbSmrg # Note: NetBSD doesn't particularly care about the vendor 204fc89c0fbSmrg # portion of the name. We always set it to "unknown". 20581676fe2Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 20649bee38cSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20749bee38cSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20881676fe2Smrg echo unknown)` 20949bee38cSmrg case $UNAME_MACHINE_ARCH in 21049bee38cSmrg aarch64eb) machine=aarch64_be-unknown ;; 211fc89c0fbSmrg armeb) machine=armeb-unknown ;; 212fc89c0fbSmrg arm*) machine=arm-unknown ;; 213fc89c0fbSmrg sh3el) machine=shl-unknown ;; 214fc89c0fbSmrg sh3eb) machine=sh-unknown ;; 21591ec45ceSmrg sh5el) machine=sh5le-unknown ;; 21681676fe2Smrg earmv*) 21781676fe2Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 21881676fe2Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 21949bee38cSmrg machine=${arch}${endian}-unknown 22081676fe2Smrg ;; 22149bee38cSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 222fc89c0fbSmrg esac 223fc89c0fbSmrg # The Operating System including object format, if it has switched 22481676fe2Smrg # to ELF recently (or will in the future) and ABI. 22549bee38cSmrg case $UNAME_MACHINE_ARCH in 22681676fe2Smrg earm*) 22781676fe2Smrg os=netbsdelf 22881676fe2Smrg ;; 229fc89c0fbSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23049bee38cSmrg set_cc_for_build 231fc89c0fbSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 232a0996ce0Smrg | grep -q __ELF__ 233fc89c0fbSmrg then 234fc89c0fbSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 235fc89c0fbSmrg # Return netbsd for either. FIX? 236fc89c0fbSmrg os=netbsd 237fc89c0fbSmrg else 238fc89c0fbSmrg os=netbsdelf 239fc89c0fbSmrg fi 240fc89c0fbSmrg ;; 241fc89c0fbSmrg *) 242576bbdfcSmrg os=netbsd 243fc89c0fbSmrg ;; 244fc89c0fbSmrg esac 24581676fe2Smrg # Determine ABI tags. 24649bee38cSmrg case $UNAME_MACHINE_ARCH in 24781676fe2Smrg earm*) 24881676fe2Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 24981676fe2Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 25081676fe2Smrg ;; 25181676fe2Smrg esac 252fc89c0fbSmrg # The OS release 253fc89c0fbSmrg # Debian GNU/NetBSD machines have a different userland, and 254fc89c0fbSmrg # thus, need a distinct triplet. However, they do not need 255fc89c0fbSmrg # kernel version information, so it can be replaced with a 256fc89c0fbSmrg # suitable tag, in the style of linux-gnu. 25749bee38cSmrg case $UNAME_VERSION in 258fc89c0fbSmrg Debian*) 259fc89c0fbSmrg release='-gnu' 260fc89c0fbSmrg ;; 261fc89c0fbSmrg *) 26281676fe2Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 263fc89c0fbSmrg ;; 264fc89c0fbSmrg esac 265fc89c0fbSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 266fc89c0fbSmrg # contains redundant information, the shorter form: 267fc89c0fbSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 26849bee38cSmrg GUESS=$machine-${os}${release}${abi-} 26949bee38cSmrg ;; 270576bbdfcSmrg *:Bitrig:*:*) 271576bbdfcSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 27249bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 27349bee38cSmrg ;; 274fc89c0fbSmrg *:OpenBSD:*:*) 275fc89c0fbSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 27649bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 27749bee38cSmrg ;; 27849bee38cSmrg *:SecBSD:*:*) 27949bee38cSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 28049bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 28149bee38cSmrg ;; 28281676fe2Smrg *:LibertyBSD:*:*) 28381676fe2Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 28449bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 28549bee38cSmrg ;; 28681676fe2Smrg *:MidnightBSD:*:*) 28749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 28849bee38cSmrg ;; 289fc89c0fbSmrg *:ekkoBSD:*:*) 29049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 29149bee38cSmrg ;; 292fc89c0fbSmrg *:SolidBSD:*:*) 29349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 29449bee38cSmrg ;; 29549bee38cSmrg *:OS108:*:*) 29649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 29749bee38cSmrg ;; 298fc89c0fbSmrg macppc:MirBSD:*:*) 29949bee38cSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 30049bee38cSmrg ;; 301fc89c0fbSmrg *:MirBSD:*:*) 30249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 30349bee38cSmrg ;; 30481676fe2Smrg *:Sortix:*:*) 30549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-sortix 30649bee38cSmrg ;; 30749bee38cSmrg *:Twizzler:*:*) 30849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 30949bee38cSmrg ;; 31081676fe2Smrg *:Redox:*:*) 31149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-redox 31249bee38cSmrg ;; 31381676fe2Smrg mips:OSF1:*.*) 31449bee38cSmrg GUESS=mips-dec-osf1 31549bee38cSmrg ;; 316fc89c0fbSmrg alpha:OSF1:*:*) 31749bee38cSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 31849bee38cSmrg trap '' 0 319fc89c0fbSmrg case $UNAME_RELEASE in 320fc89c0fbSmrg *4.0) 321fc89c0fbSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 322fc89c0fbSmrg ;; 323fc89c0fbSmrg *5.*) 324576bbdfcSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 325fc89c0fbSmrg ;; 326fc89c0fbSmrg esac 327fc89c0fbSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 328fc89c0fbSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 329fc89c0fbSmrg # covers most systems running today. This code pipes the CPU 330fc89c0fbSmrg # types through head -n 1, so we only detect the type of CPU 0. 331fc89c0fbSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 33249bee38cSmrg case $ALPHA_CPU_TYPE in 333fc89c0fbSmrg "EV4 (21064)") 33481676fe2Smrg UNAME_MACHINE=alpha ;; 335fc89c0fbSmrg "EV4.5 (21064)") 33681676fe2Smrg UNAME_MACHINE=alpha ;; 337fc89c0fbSmrg "LCA4 (21066/21068)") 33881676fe2Smrg UNAME_MACHINE=alpha ;; 339fc89c0fbSmrg "EV5 (21164)") 34081676fe2Smrg UNAME_MACHINE=alphaev5 ;; 341fc89c0fbSmrg "EV5.6 (21164A)") 34281676fe2Smrg UNAME_MACHINE=alphaev56 ;; 343fc89c0fbSmrg "EV5.6 (21164PC)") 34481676fe2Smrg UNAME_MACHINE=alphapca56 ;; 345fc89c0fbSmrg "EV5.7 (21164PC)") 34681676fe2Smrg UNAME_MACHINE=alphapca57 ;; 347fc89c0fbSmrg "EV6 (21264)") 34881676fe2Smrg UNAME_MACHINE=alphaev6 ;; 349fc89c0fbSmrg "EV6.7 (21264A)") 35081676fe2Smrg UNAME_MACHINE=alphaev67 ;; 351fc89c0fbSmrg "EV6.8CB (21264C)") 35281676fe2Smrg UNAME_MACHINE=alphaev68 ;; 353fc89c0fbSmrg "EV6.8AL (21264B)") 35481676fe2Smrg UNAME_MACHINE=alphaev68 ;; 355fc89c0fbSmrg "EV6.8CX (21264D)") 35681676fe2Smrg UNAME_MACHINE=alphaev68 ;; 357fc89c0fbSmrg "EV6.9A (21264/EV69A)") 35881676fe2Smrg UNAME_MACHINE=alphaev69 ;; 359fc89c0fbSmrg "EV7 (21364)") 36081676fe2Smrg UNAME_MACHINE=alphaev7 ;; 361fc89c0fbSmrg "EV7.9 (21364A)") 36281676fe2Smrg UNAME_MACHINE=alphaev79 ;; 363fc89c0fbSmrg esac 364fc89c0fbSmrg # A Pn.n version is a patched version. 365fc89c0fbSmrg # A Vn.n version is a released version. 366fc89c0fbSmrg # A Tn.n version is a released field test version. 367fc89c0fbSmrg # A Xn.n version is an unreleased experimental baselevel. 368fc89c0fbSmrg # 1.2 uses "1.2" for uname -r. 36949bee38cSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 37049bee38cSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 37149bee38cSmrg ;; 372fc89c0fbSmrg Amiga*:UNIX_System_V:4.0:*) 37349bee38cSmrg GUESS=m68k-unknown-sysv4 37449bee38cSmrg ;; 375fc89c0fbSmrg *:[Aa]miga[Oo][Ss]:*:*) 37649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 37749bee38cSmrg ;; 378fc89c0fbSmrg *:[Mm]orph[Oo][Ss]:*:*) 37949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-morphos 38049bee38cSmrg ;; 381fc89c0fbSmrg *:OS/390:*:*) 38249bee38cSmrg GUESS=i370-ibm-openedition 38349bee38cSmrg ;; 384fc89c0fbSmrg *:z/VM:*:*) 38549bee38cSmrg GUESS=s390-ibm-zvmoe 38649bee38cSmrg ;; 387fc89c0fbSmrg *:OS400:*:*) 38849bee38cSmrg GUESS=powerpc-ibm-os400 38949bee38cSmrg ;; 390fc89c0fbSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 39149bee38cSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 39249bee38cSmrg ;; 393576bbdfcSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 39449bee38cSmrg GUESS=arm-unknown-riscos 39549bee38cSmrg ;; 396fc89c0fbSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 39749bee38cSmrg GUESS=hppa1.1-hitachi-hiuxmpp 39849bee38cSmrg ;; 399fc89c0fbSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 400fc89c0fbSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 40149bee38cSmrg case `(/bin/universe) 2>/dev/null` in 40249bee38cSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 40349bee38cSmrg *) GUESS=pyramid-pyramid-bsd ;; 40449bee38cSmrg esac 40549bee38cSmrg ;; 406fc89c0fbSmrg NILE*:*:*:dcosx) 40749bee38cSmrg GUESS=pyramid-pyramid-svr4 40849bee38cSmrg ;; 409fc89c0fbSmrg DRS?6000:unix:4.0:6*) 41049bee38cSmrg GUESS=sparc-icl-nx6 41149bee38cSmrg ;; 412fc89c0fbSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 413fc89c0fbSmrg case `/usr/bin/uname -p` in 41449bee38cSmrg sparc) GUESS=sparc-icl-nx7 ;; 41549bee38cSmrg esac 41649bee38cSmrg ;; 41791ec45ceSmrg s390x:SunOS:*:*) 41849bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 41949bee38cSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 42049bee38cSmrg ;; 421fc89c0fbSmrg sun4H:SunOS:5.*:*) 42249bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42349bee38cSmrg GUESS=sparc-hal-solaris2$SUN_REL 42449bee38cSmrg ;; 425fc89c0fbSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 42649bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42749bee38cSmrg GUESS=sparc-sun-solaris2$SUN_REL 42849bee38cSmrg ;; 429a0996ce0Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 43049bee38cSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 43149bee38cSmrg ;; 43291ec45ceSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43349bee38cSmrg set_cc_for_build 43481676fe2Smrg SUN_ARCH=i386 43591ec45ceSmrg # If there is a compiler, see if it is configured for 64-bit objects. 43691ec45ceSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 43791ec45ceSmrg # This test works for both compilers. 43849bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 43991ec45ceSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 44081676fe2Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 44191ec45ceSmrg grep IS_64BIT_ARCH >/dev/null 44291ec45ceSmrg then 44381676fe2Smrg SUN_ARCH=x86_64 44491ec45ceSmrg fi 44591ec45ceSmrg fi 44649bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 44749bee38cSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 44849bee38cSmrg ;; 449fc89c0fbSmrg sun4*:SunOS:6*:*) 450fc89c0fbSmrg # According to config.sub, this is the proper way to canonicalize 451fc89c0fbSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 452fc89c0fbSmrg # it's likely to be more like Solaris than SunOS4. 45349bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 45449bee38cSmrg GUESS=sparc-sun-solaris3$SUN_REL 45549bee38cSmrg ;; 456fc89c0fbSmrg sun4*:SunOS:*:*) 45749bee38cSmrg case `/usr/bin/arch -k` in 458fc89c0fbSmrg Series*|S4*) 459fc89c0fbSmrg UNAME_RELEASE=`uname -v` 460fc89c0fbSmrg ;; 461fc89c0fbSmrg esac 462fc89c0fbSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 46349bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 46449bee38cSmrg GUESS=sparc-sun-sunos$SUN_REL 46549bee38cSmrg ;; 466fc89c0fbSmrg sun3*:SunOS:*:*) 46749bee38cSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 46849bee38cSmrg ;; 469fc89c0fbSmrg sun*:*:4.2BSD:*) 470fc89c0fbSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47181676fe2Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 47249bee38cSmrg case `/bin/arch` in 473fc89c0fbSmrg sun3) 47449bee38cSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 475fc89c0fbSmrg ;; 476fc89c0fbSmrg sun4) 47749bee38cSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 478fc89c0fbSmrg ;; 479fc89c0fbSmrg esac 48049bee38cSmrg ;; 481fc89c0fbSmrg aushp:SunOS:*:*) 48249bee38cSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 48349bee38cSmrg ;; 484fc89c0fbSmrg # The situation for MiNT is a little confusing. The machine name 485fc89c0fbSmrg # can be virtually everything (everything which is not 486fc89c0fbSmrg # "atarist" or "atariste" at least should have a processor 487fc89c0fbSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 488fc89c0fbSmrg # to the lowercase version "mint" (or "freemint"). Finally 489fc89c0fbSmrg # the system name "TOS" denotes a system which is actually not 490fc89c0fbSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 491fc89c0fbSmrg # be no problem. 492fc89c0fbSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 49349bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 49449bee38cSmrg ;; 495fc89c0fbSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 49649bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 49749bee38cSmrg ;; 498fc89c0fbSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 49949bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 50049bee38cSmrg ;; 501fc89c0fbSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 50249bee38cSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 50349bee38cSmrg ;; 504fc89c0fbSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 50549bee38cSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 50649bee38cSmrg ;; 507fc89c0fbSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 50849bee38cSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 50949bee38cSmrg ;; 510fc89c0fbSmrg m68k:machten:*:*) 51149bee38cSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 51249bee38cSmrg ;; 513fc89c0fbSmrg powerpc:machten:*:*) 51449bee38cSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 51549bee38cSmrg ;; 516fc89c0fbSmrg RISC*:Mach:*:*) 51749bee38cSmrg GUESS=mips-dec-mach_bsd4.3 51849bee38cSmrg ;; 519fc89c0fbSmrg RISC*:ULTRIX:*:*) 52049bee38cSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 52149bee38cSmrg ;; 522fc89c0fbSmrg VAX*:ULTRIX*:*:*) 52349bee38cSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 52449bee38cSmrg ;; 525fc89c0fbSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 52649bee38cSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 52749bee38cSmrg ;; 528fc89c0fbSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 52949bee38cSmrg set_cc_for_build 53081676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 531fc89c0fbSmrg#ifdef __cplusplus 532fc89c0fbSmrg#include <stdio.h> /* for printf() prototype */ 533fc89c0fbSmrg int main (int argc, char *argv[]) { 534fc89c0fbSmrg#else 535fc89c0fbSmrg int main (argc, argv) int argc; char *argv[]; { 536fc89c0fbSmrg#endif 537fc89c0fbSmrg #if defined (host_mips) && defined (MIPSEB) 538fc89c0fbSmrg #if defined (SYSTYPE_SYSV) 53981676fe2Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 540fc89c0fbSmrg #endif 541fc89c0fbSmrg #if defined (SYSTYPE_SVR4) 54281676fe2Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 543fc89c0fbSmrg #endif 544fc89c0fbSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 54581676fe2Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 546fc89c0fbSmrg #endif 547fc89c0fbSmrg #endif 548fc89c0fbSmrg exit (-1); 549fc89c0fbSmrg } 550fc89c0fbSmrgEOF 55181676fe2Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 55281676fe2Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 55381676fe2Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 554fc89c0fbSmrg { echo "$SYSTEM_NAME"; exit; } 55549bee38cSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 55649bee38cSmrg ;; 557fc89c0fbSmrg Motorola:PowerMAX_OS:*:*) 55849bee38cSmrg GUESS=powerpc-motorola-powermax 55949bee38cSmrg ;; 560fc89c0fbSmrg Motorola:*:4.3:PL8-*) 56149bee38cSmrg GUESS=powerpc-harris-powermax 56249bee38cSmrg ;; 563fc89c0fbSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 56449bee38cSmrg GUESS=powerpc-harris-powermax 56549bee38cSmrg ;; 566fc89c0fbSmrg Night_Hawk:Power_UNIX:*:*) 56749bee38cSmrg GUESS=powerpc-harris-powerunix 56849bee38cSmrg ;; 569fc89c0fbSmrg m88k:CX/UX:7*:*) 57049bee38cSmrg GUESS=m88k-harris-cxux7 57149bee38cSmrg ;; 572fc89c0fbSmrg m88k:*:4*:R4*) 57349bee38cSmrg GUESS=m88k-motorola-sysv4 57449bee38cSmrg ;; 575fc89c0fbSmrg m88k:*:3*:R3*) 57649bee38cSmrg GUESS=m88k-motorola-sysv3 57749bee38cSmrg ;; 578fc89c0fbSmrg AViiON:dgux:*:*) 579576bbdfcSmrg # DG/UX returns AViiON for all architectures 580576bbdfcSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 58149bee38cSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 582fc89c0fbSmrg then 58349bee38cSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 58449bee38cSmrg test "$TARGET_BINARY_INTERFACE"x = x 585fc89c0fbSmrg then 58649bee38cSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 587fc89c0fbSmrg else 58849bee38cSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 589fc89c0fbSmrg fi 590fc89c0fbSmrg else 59149bee38cSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 592fc89c0fbSmrg fi 59349bee38cSmrg ;; 594fc89c0fbSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 59549bee38cSmrg GUESS=m88k-dolphin-sysv3 59649bee38cSmrg ;; 597fc89c0fbSmrg M88*:*:R3*:*) 598fc89c0fbSmrg # Delta 88k system running SVR3 59949bee38cSmrg GUESS=m88k-motorola-sysv3 60049bee38cSmrg ;; 601fc89c0fbSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 60249bee38cSmrg GUESS=m88k-tektronix-sysv3 60349bee38cSmrg ;; 604fc89c0fbSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 60549bee38cSmrg GUESS=m68k-tektronix-bsd 60649bee38cSmrg ;; 607fc89c0fbSmrg *:IRIX*:*:*) 60849bee38cSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 60949bee38cSmrg GUESS=mips-sgi-irix$IRIX_REL 61049bee38cSmrg ;; 611fc89c0fbSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 61249bee38cSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 61349bee38cSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 614fc89c0fbSmrg i*86:AIX:*:*) 61549bee38cSmrg GUESS=i386-ibm-aix 61649bee38cSmrg ;; 617fc89c0fbSmrg ia64:AIX:*:*) 61849bee38cSmrg if test -x /usr/bin/oslevel ; then 619fc89c0fbSmrg IBM_REV=`/usr/bin/oslevel` 620fc89c0fbSmrg else 62149bee38cSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 622fc89c0fbSmrg fi 62349bee38cSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 62449bee38cSmrg ;; 625fc89c0fbSmrg *:AIX:2:3) 626fc89c0fbSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 62749bee38cSmrg set_cc_for_build 62881676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 629fc89c0fbSmrg #include <sys/systemcfg.h> 630fc89c0fbSmrg 631fc89c0fbSmrg main() 632fc89c0fbSmrg { 633fc89c0fbSmrg if (!__power_pc()) 634fc89c0fbSmrg exit(1); 635fc89c0fbSmrg puts("powerpc-ibm-aix3.2.5"); 636fc89c0fbSmrg exit(0); 637fc89c0fbSmrg } 638fc89c0fbSmrgEOF 63981676fe2Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 640fc89c0fbSmrg then 64149bee38cSmrg GUESS=$SYSTEM_NAME 642fc89c0fbSmrg else 64349bee38cSmrg GUESS=rs6000-ibm-aix3.2.5 644fc89c0fbSmrg fi 645fc89c0fbSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 64649bee38cSmrg GUESS=rs6000-ibm-aix3.2.4 647fc89c0fbSmrg else 64849bee38cSmrg GUESS=rs6000-ibm-aix3.2 649fc89c0fbSmrg fi 65049bee38cSmrg ;; 651a0996ce0Smrg *:AIX:*:[4567]) 652fc89c0fbSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 65381676fe2Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 654fc89c0fbSmrg IBM_ARCH=rs6000 655fc89c0fbSmrg else 656fc89c0fbSmrg IBM_ARCH=powerpc 657fc89c0fbSmrg fi 65849bee38cSmrg if test -x /usr/bin/lslpp ; then 65949bee38cSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66081676fe2Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 661fc89c0fbSmrg else 66249bee38cSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 663fc89c0fbSmrg fi 66449bee38cSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 66549bee38cSmrg ;; 666fc89c0fbSmrg *:AIX:*:*) 66749bee38cSmrg GUESS=rs6000-ibm-aix 66849bee38cSmrg ;; 66981676fe2Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 67049bee38cSmrg GUESS=romp-ibm-bsd4.4 67149bee38cSmrg ;; 672fc89c0fbSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 67349bee38cSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 67449bee38cSmrg ;; # report: romp-ibm BSD 4.3 675fc89c0fbSmrg *:BOSX:*:*) 67649bee38cSmrg GUESS=rs6000-bull-bosx 67749bee38cSmrg ;; 678fc89c0fbSmrg DPX/2?00:B.O.S.:*:*) 67949bee38cSmrg GUESS=m68k-bull-sysv3 68049bee38cSmrg ;; 681fc89c0fbSmrg 9000/[34]??:4.3bsd:1.*:*) 68249bee38cSmrg GUESS=m68k-hp-bsd 68349bee38cSmrg ;; 684fc89c0fbSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 68549bee38cSmrg GUESS=m68k-hp-bsd4.4 68649bee38cSmrg ;; 687fc89c0fbSmrg 9000/[34678]??:HP-UX:*:*) 68849bee38cSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 68949bee38cSmrg case $UNAME_MACHINE in 69081676fe2Smrg 9000/31?) HP_ARCH=m68000 ;; 69181676fe2Smrg 9000/[34]??) HP_ARCH=m68k ;; 692fc89c0fbSmrg 9000/[678][0-9][0-9]) 69349bee38cSmrg if test -x /usr/bin/getconf; then 694fc89c0fbSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 695576bbdfcSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 69649bee38cSmrg case $sc_cpu_version in 69781676fe2Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 69881676fe2Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 699576bbdfcSmrg 532) # CPU_PA_RISC2_0 70049bee38cSmrg case $sc_kernel_bits in 70181676fe2Smrg 32) HP_ARCH=hppa2.0n ;; 70281676fe2Smrg 64) HP_ARCH=hppa2.0w ;; 70381676fe2Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 704576bbdfcSmrg esac ;; 705576bbdfcSmrg esac 706fc89c0fbSmrg fi 70749bee38cSmrg if test "$HP_ARCH" = ""; then 70849bee38cSmrg set_cc_for_build 70981676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 710fc89c0fbSmrg 711576bbdfcSmrg #define _HPUX_SOURCE 712576bbdfcSmrg #include <stdlib.h> 713576bbdfcSmrg #include <unistd.h> 714fc89c0fbSmrg 715576bbdfcSmrg int main () 716576bbdfcSmrg { 717576bbdfcSmrg #if defined(_SC_KERNEL_BITS) 718576bbdfcSmrg long bits = sysconf(_SC_KERNEL_BITS); 719576bbdfcSmrg #endif 720576bbdfcSmrg long cpu = sysconf (_SC_CPU_VERSION); 721fc89c0fbSmrg 722576bbdfcSmrg switch (cpu) 723576bbdfcSmrg { 724576bbdfcSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 725576bbdfcSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 726576bbdfcSmrg case CPU_PA_RISC2_0: 727576bbdfcSmrg #if defined(_SC_KERNEL_BITS) 728576bbdfcSmrg switch (bits) 729576bbdfcSmrg { 730576bbdfcSmrg case 64: puts ("hppa2.0w"); break; 731576bbdfcSmrg case 32: puts ("hppa2.0n"); break; 732576bbdfcSmrg default: puts ("hppa2.0"); break; 733576bbdfcSmrg } break; 734576bbdfcSmrg #else /* !defined(_SC_KERNEL_BITS) */ 735576bbdfcSmrg puts ("hppa2.0"); break; 736576bbdfcSmrg #endif 737576bbdfcSmrg default: puts ("hppa1.0"); break; 738576bbdfcSmrg } 739576bbdfcSmrg exit (0); 740576bbdfcSmrg } 741fc89c0fbSmrgEOF 74281676fe2Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 743fc89c0fbSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 744fc89c0fbSmrg fi ;; 745fc89c0fbSmrg esac 74649bee38cSmrg if test "$HP_ARCH" = hppa2.0w 747fc89c0fbSmrg then 74849bee38cSmrg set_cc_for_build 749fc89c0fbSmrg 750fc89c0fbSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 751fc89c0fbSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 752fc89c0fbSmrg # generating 64-bit code. GNU and HP use different nomenclature: 753fc89c0fbSmrg # 754fc89c0fbSmrg # $ CC_FOR_BUILD=cc ./config.guess 755fc89c0fbSmrg # => hppa2.0w-hp-hpux11.23 756fc89c0fbSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 757fc89c0fbSmrg # => hppa64-hp-hpux11.23 758fc89c0fbSmrg 75981676fe2Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 760a0996ce0Smrg grep -q __LP64__ 761fc89c0fbSmrg then 76281676fe2Smrg HP_ARCH=hppa2.0w 763fc89c0fbSmrg else 76481676fe2Smrg HP_ARCH=hppa64 765fc89c0fbSmrg fi 766fc89c0fbSmrg fi 76749bee38cSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 76849bee38cSmrg ;; 769fc89c0fbSmrg ia64:HP-UX:*:*) 77049bee38cSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 77149bee38cSmrg GUESS=ia64-hp-hpux$HPUX_REV 77249bee38cSmrg ;; 773fc89c0fbSmrg 3050*:HI-UX:*:*) 77449bee38cSmrg set_cc_for_build 77581676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 776fc89c0fbSmrg #include <unistd.h> 777fc89c0fbSmrg int 778fc89c0fbSmrg main () 779fc89c0fbSmrg { 780fc89c0fbSmrg long cpu = sysconf (_SC_CPU_VERSION); 781fc89c0fbSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 782fc89c0fbSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 783fc89c0fbSmrg results, however. */ 784fc89c0fbSmrg if (CPU_IS_PA_RISC (cpu)) 785fc89c0fbSmrg { 786fc89c0fbSmrg switch (cpu) 787fc89c0fbSmrg { 788fc89c0fbSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 789fc89c0fbSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 790fc89c0fbSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 791fc89c0fbSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 792fc89c0fbSmrg } 793fc89c0fbSmrg } 794fc89c0fbSmrg else if (CPU_IS_HP_MC68K (cpu)) 795fc89c0fbSmrg puts ("m68k-hitachi-hiuxwe2"); 796fc89c0fbSmrg else puts ("unknown-hitachi-hiuxwe2"); 797fc89c0fbSmrg exit (0); 798fc89c0fbSmrg } 799fc89c0fbSmrgEOF 80081676fe2Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 801fc89c0fbSmrg { echo "$SYSTEM_NAME"; exit; } 80249bee38cSmrg GUESS=unknown-hitachi-hiuxwe2 80349bee38cSmrg ;; 80481676fe2Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 80549bee38cSmrg GUESS=hppa1.1-hp-bsd 80649bee38cSmrg ;; 807fc89c0fbSmrg 9000/8??:4.3bsd:*:*) 80849bee38cSmrg GUESS=hppa1.0-hp-bsd 80949bee38cSmrg ;; 810fc89c0fbSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 81149bee38cSmrg GUESS=hppa1.0-hp-mpeix 81249bee38cSmrg ;; 81381676fe2Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 81449bee38cSmrg GUESS=hppa1.1-hp-osf 81549bee38cSmrg ;; 816fc89c0fbSmrg hp8??:OSF1:*:*) 81749bee38cSmrg GUESS=hppa1.0-hp-osf 81849bee38cSmrg ;; 819fc89c0fbSmrg i*86:OSF1:*:*) 82049bee38cSmrg if test -x /usr/sbin/sysversion ; then 82149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 822fc89c0fbSmrg else 82349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-osf1 824fc89c0fbSmrg fi 82549bee38cSmrg ;; 826fc89c0fbSmrg parisc*:Lites*:*:*) 82749bee38cSmrg GUESS=hppa1.1-hp-lites 82849bee38cSmrg ;; 829fc89c0fbSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 83049bee38cSmrg GUESS=c1-convex-bsd 83149bee38cSmrg ;; 832fc89c0fbSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 833fc89c0fbSmrg if getsysinfo -f scalar_acc 834fc89c0fbSmrg then echo c32-convex-bsd 835fc89c0fbSmrg else echo c2-convex-bsd 836fc89c0fbSmrg fi 837576bbdfcSmrg exit ;; 838fc89c0fbSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 83949bee38cSmrg GUESS=c34-convex-bsd 84049bee38cSmrg ;; 841fc89c0fbSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 84249bee38cSmrg GUESS=c38-convex-bsd 84349bee38cSmrg ;; 844fc89c0fbSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 84549bee38cSmrg GUESS=c4-convex-bsd 84649bee38cSmrg ;; 847fc89c0fbSmrg CRAY*Y-MP:*:*:*) 84849bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 84949bee38cSmrg GUESS=ymp-cray-unicos$CRAY_REL 85049bee38cSmrg ;; 851fc89c0fbSmrg CRAY*[A-Z]90:*:*:*) 85281676fe2Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 853fc89c0fbSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 854fc89c0fbSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 855fc89c0fbSmrg -e 's/\.[^.]*$/.X/' 856fc89c0fbSmrg exit ;; 857fc89c0fbSmrg CRAY*TS:*:*:*) 85849bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 85949bee38cSmrg GUESS=t90-cray-unicos$CRAY_REL 86049bee38cSmrg ;; 861fc89c0fbSmrg CRAY*T3E:*:*:*) 86249bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86349bee38cSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 86449bee38cSmrg ;; 865fc89c0fbSmrg CRAY*SV1:*:*:*) 86649bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86749bee38cSmrg GUESS=sv1-cray-unicos$CRAY_REL 86849bee38cSmrg ;; 869fc89c0fbSmrg *:UNICOS/mp:*:*) 87049bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87149bee38cSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 87249bee38cSmrg ;; 873fc89c0fbSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 87481676fe2Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 87581676fe2Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 87681676fe2Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 87749bee38cSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 87849bee38cSmrg ;; 879fc89c0fbSmrg 5000:UNIX_System_V:4.*:*) 88081676fe2Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88181676fe2Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 88249bee38cSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88349bee38cSmrg ;; 884fc89c0fbSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 88549bee38cSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 88649bee38cSmrg ;; 887fc89c0fbSmrg sparc*:BSD/OS:*:*) 88849bee38cSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 88949bee38cSmrg ;; 890fc89c0fbSmrg *:BSD/OS:*:*) 89149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 89249bee38cSmrg ;; 89349bee38cSmrg arm:FreeBSD:*:*) 89449bee38cSmrg UNAME_PROCESSOR=`uname -p` 89549bee38cSmrg set_cc_for_build 89649bee38cSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 89749bee38cSmrg | grep -q __ARM_PCS_VFP 89849bee38cSmrg then 89949bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90049bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90149bee38cSmrg else 90249bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90349bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 90449bee38cSmrg fi 90549bee38cSmrg ;; 906fc89c0fbSmrg *:FreeBSD:*:*) 907576bbdfcSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 90849bee38cSmrg case $UNAME_PROCESSOR in 909fc89c0fbSmrg amd64) 91081676fe2Smrg UNAME_PROCESSOR=x86_64 ;; 91181676fe2Smrg i386) 91281676fe2Smrg UNAME_PROCESSOR=i586 ;; 913fc89c0fbSmrg esac 91449bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 91549bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 91649bee38cSmrg ;; 917fc89c0fbSmrg i*:CYGWIN*:*) 91849bee38cSmrg GUESS=$UNAME_MACHINE-pc-cygwin 91949bee38cSmrg ;; 920576bbdfcSmrg *:MINGW64*:*) 92149bee38cSmrg GUESS=$UNAME_MACHINE-pc-mingw64 92249bee38cSmrg ;; 92391ec45ceSmrg *:MINGW*:*) 92449bee38cSmrg GUESS=$UNAME_MACHINE-pc-mingw32 92549bee38cSmrg ;; 92681676fe2Smrg *:MSYS*:*) 92749bee38cSmrg GUESS=$UNAME_MACHINE-pc-msys 92849bee38cSmrg ;; 929fc89c0fbSmrg i*:PW*:*) 93049bee38cSmrg GUESS=$UNAME_MACHINE-pc-pw32 93149bee38cSmrg ;; 932a0996ce0Smrg *:Interix*:*) 93349bee38cSmrg case $UNAME_MACHINE in 93491ec45ceSmrg x86) 93549bee38cSmrg GUESS=i586-pc-interix$UNAME_RELEASE 93649bee38cSmrg ;; 937a0996ce0Smrg authenticamd | genuineintel | EM64T) 93849bee38cSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 93949bee38cSmrg ;; 94091ec45ceSmrg IA64) 94149bee38cSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 94249bee38cSmrg ;; 94391ec45ceSmrg esac ;; 944fc89c0fbSmrg i*:UWIN*:*) 94549bee38cSmrg GUESS=$UNAME_MACHINE-pc-uwin 94649bee38cSmrg ;; 947fc89c0fbSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 94849bee38cSmrg GUESS=x86_64-pc-cygwin 94949bee38cSmrg ;; 950fc89c0fbSmrg prep*:SunOS:5.*:*) 95149bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 95249bee38cSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 95349bee38cSmrg ;; 954fc89c0fbSmrg *:GNU:*:*) 955fc89c0fbSmrg # the GNU system 95649bee38cSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 95749bee38cSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 95849bee38cSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 95949bee38cSmrg ;; 960fc89c0fbSmrg *:GNU/*:*:*) 961fc89c0fbSmrg # other systems with GNU libc and userland 96249bee38cSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 96349bee38cSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 96449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 96549bee38cSmrg ;; 96649bee38cSmrg *:Minix:*:*) 96749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-minix 96849bee38cSmrg ;; 969576bbdfcSmrg aarch64:Linux:*:*) 97049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 97149bee38cSmrg ;; 972576bbdfcSmrg aarch64_be:Linux:*:*) 973576bbdfcSmrg UNAME_MACHINE=aarch64_be 97449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 97549bee38cSmrg ;; 976a0996ce0Smrg alpha:Linux:*:*) 97749bee38cSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 978a0996ce0Smrg EV5) UNAME_MACHINE=alphaev5 ;; 979a0996ce0Smrg EV56) UNAME_MACHINE=alphaev56 ;; 980a0996ce0Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 981a0996ce0Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 982a0996ce0Smrg EV6) UNAME_MACHINE=alphaev6 ;; 983a0996ce0Smrg EV67) UNAME_MACHINE=alphaev67 ;; 984a0996ce0Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 985576bbdfcSmrg esac 986a0996ce0Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 98781676fe2Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 98849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98949bee38cSmrg ;; 99049bee38cSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 99149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 99249bee38cSmrg ;; 993fc89c0fbSmrg arm*:Linux:*:*) 99449bee38cSmrg set_cc_for_build 99591ec45ceSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 99691ec45ceSmrg | grep -q __ARM_EABI__ 99791ec45ceSmrg then 99849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 99991ec45ceSmrg else 1000576bbdfcSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1001576bbdfcSmrg | grep -q __ARM_PCS_VFP 1002576bbdfcSmrg then 100349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1004576bbdfcSmrg else 100549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1006576bbdfcSmrg fi 100791ec45ceSmrg fi 100849bee38cSmrg ;; 1009fc89c0fbSmrg avr32*:Linux:*:*) 101049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 101149bee38cSmrg ;; 1012fc89c0fbSmrg cris:Linux:*:*) 101349bee38cSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 101449bee38cSmrg ;; 1015fc89c0fbSmrg crisv32:Linux:*:*) 101649bee38cSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 101749bee38cSmrg ;; 101881676fe2Smrg e2k:Linux:*:*) 101949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102049bee38cSmrg ;; 1021fc89c0fbSmrg frv:Linux:*:*) 102249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102349bee38cSmrg ;; 1024576bbdfcSmrg hexagon:Linux:*:*) 102549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102649bee38cSmrg ;; 1027a0996ce0Smrg i*86:Linux:*:*) 102849bee38cSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 102949bee38cSmrg ;; 1030fc89c0fbSmrg ia64:Linux:*:*) 103149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103249bee38cSmrg ;; 103381676fe2Smrg k1om:Linux:*:*) 103449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103549bee38cSmrg ;; 103649bee38cSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) 103749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103849bee38cSmrg ;; 1039fc89c0fbSmrg m32r*:Linux:*:*) 104049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104149bee38cSmrg ;; 1042fc89c0fbSmrg m68*:Linux:*:*) 104349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104449bee38cSmrg ;; 1045a0996ce0Smrg mips:Linux:*:* | mips64:Linux:*:*) 104649bee38cSmrg set_cc_for_build 104749bee38cSmrg IS_GLIBC=0 104849bee38cSmrg test x"${LIBC}" = xgnu && IS_GLIBC=1 104981676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 1050fc89c0fbSmrg #undef CPU 105149bee38cSmrg #undef mips 105249bee38cSmrg #undef mipsel 105349bee38cSmrg #undef mips64 105449bee38cSmrg #undef mips64el 105549bee38cSmrg #if ${IS_GLIBC} && defined(_ABI64) 105649bee38cSmrg LIBCABI=gnuabi64 105749bee38cSmrg #else 105849bee38cSmrg #if ${IS_GLIBC} && defined(_ABIN32) 105949bee38cSmrg LIBCABI=gnuabin32 106049bee38cSmrg #else 106149bee38cSmrg LIBCABI=${LIBC} 106249bee38cSmrg #endif 106349bee38cSmrg #endif 106449bee38cSmrg 106549bee38cSmrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 106649bee38cSmrg CPU=mipsisa64r6 106749bee38cSmrg #else 106849bee38cSmrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 106949bee38cSmrg CPU=mipsisa32r6 107049bee38cSmrg #else 107149bee38cSmrg #if defined(__mips64) 107249bee38cSmrg CPU=mips64 107349bee38cSmrg #else 107449bee38cSmrg CPU=mips 107549bee38cSmrg #endif 107649bee38cSmrg #endif 107749bee38cSmrg #endif 107849bee38cSmrg 1079fc89c0fbSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 108049bee38cSmrg MIPS_ENDIAN=el 1081fc89c0fbSmrg #else 1082fc89c0fbSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 108349bee38cSmrg MIPS_ENDIAN= 1084fc89c0fbSmrg #else 108549bee38cSmrg MIPS_ENDIAN= 1086fc89c0fbSmrg #endif 1087fc89c0fbSmrg #endif 1088fc89c0fbSmrgEOF 108949bee38cSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 109049bee38cSmrg eval "$cc_set_vars" 109149bee38cSmrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1092fc89c0fbSmrg ;; 109381676fe2Smrg mips64el:Linux:*:*) 109449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 109549bee38cSmrg ;; 109681676fe2Smrg openrisc*:Linux:*:*) 109749bee38cSmrg GUESS=or1k-unknown-linux-$LIBC 109849bee38cSmrg ;; 109981676fe2Smrg or32:Linux:*:* | or1k*:Linux:*:*) 110049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 110149bee38cSmrg ;; 110291ec45ceSmrg padre:Linux:*:*) 110349bee38cSmrg GUESS=sparc-unknown-linux-$LIBC 110449bee38cSmrg ;; 1105a0996ce0Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 110649bee38cSmrg GUESS=hppa64-unknown-linux-$LIBC 110749bee38cSmrg ;; 1108fc89c0fbSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1109fc89c0fbSmrg # Look for CPU level 1110fc89c0fbSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 111149bee38cSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 111249bee38cSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 111349bee38cSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1114fc89c0fbSmrg esac 111549bee38cSmrg ;; 1116a0996ce0Smrg ppc64:Linux:*:*) 111749bee38cSmrg GUESS=powerpc64-unknown-linux-$LIBC 111849bee38cSmrg ;; 1119a0996ce0Smrg ppc:Linux:*:*) 112049bee38cSmrg GUESS=powerpc-unknown-linux-$LIBC 112149bee38cSmrg ;; 1122576bbdfcSmrg ppc64le:Linux:*:*) 112349bee38cSmrg GUESS=powerpc64le-unknown-linux-$LIBC 112449bee38cSmrg ;; 1125576bbdfcSmrg ppcle:Linux:*:*) 112649bee38cSmrg GUESS=powerpcle-unknown-linux-$LIBC 112749bee38cSmrg ;; 112849bee38cSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 112949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113049bee38cSmrg ;; 1131fc89c0fbSmrg s390:Linux:*:* | s390x:Linux:*:*) 113249bee38cSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 113349bee38cSmrg ;; 1134fc89c0fbSmrg sh64*:Linux:*:*) 113549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113649bee38cSmrg ;; 1137fc89c0fbSmrg sh*:Linux:*:*) 113849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113949bee38cSmrg ;; 1140fc89c0fbSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 114149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114249bee38cSmrg ;; 1143a0996ce0Smrg tile*:Linux:*:*) 114449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114549bee38cSmrg ;; 1146fc89c0fbSmrg vax:Linux:*:*) 114749bee38cSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 114849bee38cSmrg ;; 1149fc89c0fbSmrg x86_64:Linux:*:*) 115049bee38cSmrg set_cc_for_build 115149bee38cSmrg LIBCABI=$LIBC 115249bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 115349bee38cSmrg if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ 115449bee38cSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 115549bee38cSmrg grep IS_X32 >/dev/null 115649bee38cSmrg then 115749bee38cSmrg LIBCABI=${LIBC}x32 115849bee38cSmrg fi 1159f9c28e31Smrg fi 116049bee38cSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI 116149bee38cSmrg ;; 116291ec45ceSmrg xtensa*:Linux:*:*) 116349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 116449bee38cSmrg ;; 1165fc89c0fbSmrg i*86:DYNIX/ptx:4*:*) 1166fc89c0fbSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1167fc89c0fbSmrg # earlier versions are messed up and put the nodename in both 1168fc89c0fbSmrg # sysname and nodename. 116949bee38cSmrg GUESS=i386-sequent-sysv4 117049bee38cSmrg ;; 1171fc89c0fbSmrg i*86:UNIX_SV:4.2MP:2.*) 1172576bbdfcSmrg # Unixware is an offshoot of SVR4, but it has its own version 1173576bbdfcSmrg # number series starting with 2... 1174576bbdfcSmrg # I am not positive that other SVR4 systems won't match this, 1175fc89c0fbSmrg # I just have to hope. -- rms. 1176576bbdfcSmrg # Use sysv4.2uw... so that sysv4* matches it. 117749bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 117849bee38cSmrg ;; 1179fc89c0fbSmrg i*86:OS/2:*:*) 1180fc89c0fbSmrg # If we were able to find `uname', then EMX Unix compatibility 1181fc89c0fbSmrg # is probably installed. 118249bee38cSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 118349bee38cSmrg ;; 1184fc89c0fbSmrg i*86:XTS-300:*:STOP) 118549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-stop 118649bee38cSmrg ;; 1187fc89c0fbSmrg i*86:atheos:*:*) 118849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-atheos 118949bee38cSmrg ;; 1190fc89c0fbSmrg i*86:syllable:*:*) 119149bee38cSmrg GUESS=$UNAME_MACHINE-pc-syllable 119249bee38cSmrg ;; 1193a0996ce0Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 119449bee38cSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 119549bee38cSmrg ;; 1196fc89c0fbSmrg i*86:*DOS:*:*) 119749bee38cSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 119849bee38cSmrg ;; 119981676fe2Smrg i*86:*:4.*:*) 120081676fe2Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1201fc89c0fbSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 120249bee38cSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1203fc89c0fbSmrg else 120449bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1205fc89c0fbSmrg fi 120649bee38cSmrg ;; 1207fc89c0fbSmrg i*86:*:5:[678]*) 1208576bbdfcSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1209fc89c0fbSmrg case `/bin/uname -X | grep "^Machine"` in 1210fc89c0fbSmrg *486*) UNAME_MACHINE=i486 ;; 1211fc89c0fbSmrg *Pentium) UNAME_MACHINE=i586 ;; 1212fc89c0fbSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1213fc89c0fbSmrg esac 121449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 121549bee38cSmrg ;; 1216fc89c0fbSmrg i*86:*:3.2:*) 1217fc89c0fbSmrg if test -f /usr/options/cb.name; then 1218fc89c0fbSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 121949bee38cSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1220fc89c0fbSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1221fc89c0fbSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1222fc89c0fbSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1223fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1224fc89c0fbSmrg && UNAME_MACHINE=i586 1225fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1226fc89c0fbSmrg && UNAME_MACHINE=i686 1227fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1228fc89c0fbSmrg && UNAME_MACHINE=i686 122949bee38cSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1230fc89c0fbSmrg else 123149bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv32 1232fc89c0fbSmrg fi 123349bee38cSmrg ;; 1234fc89c0fbSmrg pc:*:*:*) 1235fc89c0fbSmrg # Left here for compatibility: 1236576bbdfcSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1237576bbdfcSmrg # the processor, so we play safe by assuming i586. 123891ec45ceSmrg # Note: whatever this is, it MUST be the same as what config.sub 123981676fe2Smrg # prints for the "djgpp" host, or else GDB configure will decide that 124091ec45ceSmrg # this is a cross-build. 124149bee38cSmrg GUESS=i586-pc-msdosdjgpp 124249bee38cSmrg ;; 1243fc89c0fbSmrg Intel:Mach:3*:*) 124449bee38cSmrg GUESS=i386-pc-mach3 124549bee38cSmrg ;; 1246fc89c0fbSmrg paragon:*:*:*) 124749bee38cSmrg GUESS=i860-intel-osf1 124849bee38cSmrg ;; 1249fc89c0fbSmrg i860:*:4.*:*) # i860-SVR4 1250fc89c0fbSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 125149bee38cSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1252fc89c0fbSmrg else # Add other i860-SVR4 vendors below as they are discovered. 125349bee38cSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1254fc89c0fbSmrg fi 125549bee38cSmrg ;; 1256fc89c0fbSmrg mini*:CTIX:SYS*5:*) 1257fc89c0fbSmrg # "miniframe" 125849bee38cSmrg GUESS=m68010-convergent-sysv 125949bee38cSmrg ;; 1260fc89c0fbSmrg mc68k:UNIX:SYSTEM5:3.51m) 126149bee38cSmrg GUESS=m68k-convergent-sysv 126249bee38cSmrg ;; 1263fc89c0fbSmrg M680?0:D-NIX:5.3:*) 126449bee38cSmrg GUESS=m68k-diab-dnix 126549bee38cSmrg ;; 1266fc89c0fbSmrg M68*:*:R3V[5678]*:*) 1267fc89c0fbSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1268fc89c0fbSmrg 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) 1269fc89c0fbSmrg OS_REL='' 1270fc89c0fbSmrg test -r /etc/.relid \ 1271fc89c0fbSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1272fc89c0fbSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 127381676fe2Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1274fc89c0fbSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 127581676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1276fc89c0fbSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1277576bbdfcSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1278576bbdfcSmrg && { echo i486-ncr-sysv4; exit; } ;; 127991ec45ceSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 128091ec45ceSmrg OS_REL='.3' 128191ec45ceSmrg test -r /etc/.relid \ 128291ec45ceSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 128391ec45ceSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 128481676fe2Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 128591ec45ceSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 128681676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 128791ec45ceSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 128881676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1289fc89c0fbSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 129049bee38cSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 129149bee38cSmrg ;; 1292fc89c0fbSmrg mc68030:UNIX_System_V:4.*:*) 129349bee38cSmrg GUESS=m68k-atari-sysv4 129449bee38cSmrg ;; 1295fc89c0fbSmrg TSUNAMI:LynxOS:2.*:*) 129649bee38cSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 129749bee38cSmrg ;; 1298fc89c0fbSmrg rs6000:LynxOS:2.*:*) 129949bee38cSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 130049bee38cSmrg ;; 1301a0996ce0Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 130249bee38cSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 130349bee38cSmrg ;; 1304fc89c0fbSmrg SM[BE]S:UNIX_SV:*:*) 130549bee38cSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 130649bee38cSmrg ;; 1307fc89c0fbSmrg RM*:ReliantUNIX-*:*:*) 130849bee38cSmrg GUESS=mips-sni-sysv4 130949bee38cSmrg ;; 1310fc89c0fbSmrg RM*:SINIX-*:*:*) 131149bee38cSmrg GUESS=mips-sni-sysv4 131249bee38cSmrg ;; 1313fc89c0fbSmrg *:SINIX-*:*:*) 1314fc89c0fbSmrg if uname -p 2>/dev/null >/dev/null ; then 1315fc89c0fbSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 131649bee38cSmrg GUESS=$UNAME_MACHINE-sni-sysv4 1317fc89c0fbSmrg else 131849bee38cSmrg GUESS=ns32k-sni-sysv 1319fc89c0fbSmrg fi 132049bee38cSmrg ;; 1321576bbdfcSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1322576bbdfcSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 132349bee38cSmrg GUESS=i586-unisys-sysv4 132449bee38cSmrg ;; 1325fc89c0fbSmrg *:UNIX_System_V:4*:FTX*) 1326fc89c0fbSmrg # From Gerald Hewes <hewes@openmarket.com>. 1327fc89c0fbSmrg # How about differentiating between stratus architectures? -djm 132849bee38cSmrg GUESS=hppa1.1-stratus-sysv4 132949bee38cSmrg ;; 1330fc89c0fbSmrg *:*:*:FTX*) 1331fc89c0fbSmrg # From seanf@swdc.stratus.com. 133249bee38cSmrg GUESS=i860-stratus-sysv4 133349bee38cSmrg ;; 1334fc89c0fbSmrg i*86:VOS:*:*) 1335fc89c0fbSmrg # From Paul.Green@stratus.com. 133649bee38cSmrg GUESS=$UNAME_MACHINE-stratus-vos 133749bee38cSmrg ;; 1338fc89c0fbSmrg *:VOS:*:*) 1339fc89c0fbSmrg # From Paul.Green@stratus.com. 134049bee38cSmrg GUESS=hppa1.1-stratus-vos 134149bee38cSmrg ;; 1342fc89c0fbSmrg mc68*:A/UX:*:*) 134349bee38cSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 134449bee38cSmrg ;; 1345fc89c0fbSmrg news*:NEWS-OS:6*:*) 134649bee38cSmrg GUESS=mips-sony-newsos6 134749bee38cSmrg ;; 1348fc89c0fbSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 134949bee38cSmrg if test -d /usr/nec; then 135049bee38cSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 1351fc89c0fbSmrg else 135249bee38cSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1353fc89c0fbSmrg fi 135449bee38cSmrg ;; 1355fc89c0fbSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 135649bee38cSmrg GUESS=powerpc-be-beos 135749bee38cSmrg ;; 1358fc89c0fbSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 135949bee38cSmrg GUESS=powerpc-apple-beos 136049bee38cSmrg ;; 1361fc89c0fbSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 136249bee38cSmrg GUESS=i586-pc-beos 136349bee38cSmrg ;; 136491ec45ceSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 136549bee38cSmrg GUESS=i586-pc-haiku 136649bee38cSmrg ;; 1367576bbdfcSmrg x86_64:Haiku:*:*) 136849bee38cSmrg GUESS=x86_64-unknown-haiku 136949bee38cSmrg ;; 1370fc89c0fbSmrg SX-4:SUPER-UX:*:*) 137149bee38cSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 137249bee38cSmrg ;; 1373fc89c0fbSmrg SX-5:SUPER-UX:*:*) 137449bee38cSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 137549bee38cSmrg ;; 1376fc89c0fbSmrg SX-6:SUPER-UX:*:*) 137749bee38cSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 137849bee38cSmrg ;; 137991ec45ceSmrg SX-7:SUPER-UX:*:*) 138049bee38cSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 138149bee38cSmrg ;; 138291ec45ceSmrg SX-8:SUPER-UX:*:*) 138349bee38cSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 138449bee38cSmrg ;; 138591ec45ceSmrg SX-8R:SUPER-UX:*:*) 138649bee38cSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 138749bee38cSmrg ;; 138881676fe2Smrg SX-ACE:SUPER-UX:*:*) 138949bee38cSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 139049bee38cSmrg ;; 1391fc89c0fbSmrg Power*:Rhapsody:*:*) 139249bee38cSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 139349bee38cSmrg ;; 1394fc89c0fbSmrg *:Rhapsody:*:*) 139549bee38cSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 139649bee38cSmrg ;; 139749bee38cSmrg arm64:Darwin:*:*) 139849bee38cSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 139949bee38cSmrg ;; 1400fc89c0fbSmrg *:Darwin:*:*) 140149bee38cSmrg UNAME_PROCESSOR=`uname -p` 140249bee38cSmrg case $UNAME_PROCESSOR in 140349bee38cSmrg unknown) UNAME_PROCESSOR=powerpc ;; 140449bee38cSmrg esac 140549bee38cSmrg if command -v xcode-select > /dev/null 2> /dev/null && \ 140649bee38cSmrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 140749bee38cSmrg # Avoid executing cc if there is no toolchain installed as 140849bee38cSmrg # cc will be a stub that puts up a graphical alert 140949bee38cSmrg # prompting the user to install developer tools. 141049bee38cSmrg CC_FOR_BUILD=no_compiler_found 141149bee38cSmrg else 141249bee38cSmrg set_cc_for_build 1413576bbdfcSmrg fi 141449bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 141549bee38cSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 141649bee38cSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 141749bee38cSmrg grep IS_64BIT_ARCH >/dev/null 141849bee38cSmrg then 141949bee38cSmrg case $UNAME_PROCESSOR in 142049bee38cSmrg i386) UNAME_PROCESSOR=x86_64 ;; 142149bee38cSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 142249bee38cSmrg esac 142349bee38cSmrg fi 142449bee38cSmrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 142549bee38cSmrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 142649bee38cSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 142749bee38cSmrg grep IS_PPC >/dev/null 142849bee38cSmrg then 142949bee38cSmrg UNAME_PROCESSOR=powerpc 1430576bbdfcSmrg fi 143181676fe2Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 143249bee38cSmrg # uname -m returns i386 or x86_64 143349bee38cSmrg UNAME_PROCESSOR=$UNAME_MACHINE 1434576bbdfcSmrg fi 143549bee38cSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 143649bee38cSmrg ;; 1437fc89c0fbSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1438fc89c0fbSmrg UNAME_PROCESSOR=`uname -p` 143981676fe2Smrg if test "$UNAME_PROCESSOR" = x86; then 1440fc89c0fbSmrg UNAME_PROCESSOR=i386 1441fc89c0fbSmrg UNAME_MACHINE=pc 1442fc89c0fbSmrg fi 144349bee38cSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 144449bee38cSmrg ;; 1445fc89c0fbSmrg *:QNX:*:4*) 144649bee38cSmrg GUESS=i386-pc-qnx 144749bee38cSmrg ;; 144881676fe2Smrg NEO-*:NONSTOP_KERNEL:*:*) 144949bee38cSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 145049bee38cSmrg ;; 1451576bbdfcSmrg NSE-*:NONSTOP_KERNEL:*:*) 145249bee38cSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 145349bee38cSmrg ;; 145481676fe2Smrg NSR-*:NONSTOP_KERNEL:*:*) 145549bee38cSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 145649bee38cSmrg ;; 145781676fe2Smrg NSV-*:NONSTOP_KERNEL:*:*) 145849bee38cSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 145949bee38cSmrg ;; 146081676fe2Smrg NSX-*:NONSTOP_KERNEL:*:*) 146149bee38cSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 146249bee38cSmrg ;; 1463fc89c0fbSmrg *:NonStop-UX:*:*) 146449bee38cSmrg GUESS=mips-compaq-nonstopux 146549bee38cSmrg ;; 1466fc89c0fbSmrg BS2000:POSIX*:*:*) 146749bee38cSmrg GUESS=bs2000-siemens-sysv 146849bee38cSmrg ;; 1469fc89c0fbSmrg DS/*:UNIX_System_V:*:*) 147049bee38cSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 147149bee38cSmrg ;; 1472fc89c0fbSmrg *:Plan9:*:*) 1473fc89c0fbSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1474fc89c0fbSmrg # is converted to i386 for consistency with other x86 1475fc89c0fbSmrg # operating systems. 147649bee38cSmrg if test "${cputype-}" = 386; then 1477fc89c0fbSmrg UNAME_MACHINE=i386 147849bee38cSmrg elif test "x${cputype-}" != x; then 147949bee38cSmrg UNAME_MACHINE=$cputype 1480fc89c0fbSmrg fi 148149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-plan9 148249bee38cSmrg ;; 1483fc89c0fbSmrg *:TOPS-10:*:*) 148449bee38cSmrg GUESS=pdp10-unknown-tops10 148549bee38cSmrg ;; 1486fc89c0fbSmrg *:TENEX:*:*) 148749bee38cSmrg GUESS=pdp10-unknown-tenex 148849bee38cSmrg ;; 1489fc89c0fbSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 149049bee38cSmrg GUESS=pdp10-dec-tops20 149149bee38cSmrg ;; 1492fc89c0fbSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 149349bee38cSmrg GUESS=pdp10-xkl-tops20 149449bee38cSmrg ;; 1495fc89c0fbSmrg *:TOPS-20:*:*) 149649bee38cSmrg GUESS=pdp10-unknown-tops20 149749bee38cSmrg ;; 1498fc89c0fbSmrg *:ITS:*:*) 149949bee38cSmrg GUESS=pdp10-unknown-its 150049bee38cSmrg ;; 1501fc89c0fbSmrg SEI:*:*:SEIUX) 150249bee38cSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 150349bee38cSmrg ;; 1504fc89c0fbSmrg *:DragonFly:*:*) 150549bee38cSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 150649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 150749bee38cSmrg ;; 1508fc89c0fbSmrg *:*VMS:*:*) 1509576bbdfcSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 151049bee38cSmrg case $UNAME_MACHINE in 151149bee38cSmrg A*) GUESS=alpha-dec-vms ;; 151249bee38cSmrg I*) GUESS=ia64-dec-vms ;; 151349bee38cSmrg V*) GUESS=vax-dec-vms ;; 1514fc89c0fbSmrg esac ;; 1515fc89c0fbSmrg *:XENIX:*:SysV) 151649bee38cSmrg GUESS=i386-pc-xenix 151749bee38cSmrg ;; 1518fc89c0fbSmrg i*86:skyos:*:*) 151949bee38cSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 152049bee38cSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 152149bee38cSmrg ;; 1522fc89c0fbSmrg i*86:rdos:*:*) 152349bee38cSmrg GUESS=$UNAME_MACHINE-pc-rdos 152449bee38cSmrg ;; 152549bee38cSmrg *:AROS:*:*) 152649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-aros 152749bee38cSmrg ;; 1528576bbdfcSmrg x86_64:VMkernel:*:*) 152949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-esx 153049bee38cSmrg ;; 153181676fe2Smrg amd64:Isilon\ OneFS:*:*) 153249bee38cSmrg GUESS=x86_64-unknown-onefs 153349bee38cSmrg ;; 153449bee38cSmrg *:Unleashed:*:*) 153549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 153649bee38cSmrg ;; 1537fc89c0fbSmrgesac 1538fc89c0fbSmrg 153949bee38cSmrg# Do we have a guess based on uname results? 154049bee38cSmrgif test "x$GUESS" != x; then 154149bee38cSmrg echo "$GUESS" 154249bee38cSmrg exit 154349bee38cSmrgfi 154449bee38cSmrg 154549bee38cSmrg# No uname command or uname output not recognized. 154649bee38cSmrgset_cc_for_build 154749bee38cSmrgcat > "$dummy.c" <<EOF 154849bee38cSmrg#ifdef _SEQUENT_ 154949bee38cSmrg#include <sys/types.h> 155049bee38cSmrg#include <sys/utsname.h> 155149bee38cSmrg#endif 155249bee38cSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 155349bee38cSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 155449bee38cSmrg#include <signal.h> 155549bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 155649bee38cSmrg#include <sys/utsname.h> 155749bee38cSmrg#endif 155849bee38cSmrg#endif 155949bee38cSmrg#endif 156049bee38cSmrgmain () 156149bee38cSmrg{ 156249bee38cSmrg#if defined (sony) 156349bee38cSmrg#if defined (MIPSEB) 156449bee38cSmrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 156549bee38cSmrg I don't know.... */ 156649bee38cSmrg printf ("mips-sony-bsd\n"); exit (0); 156749bee38cSmrg#else 156849bee38cSmrg#include <sys/param.h> 156949bee38cSmrg printf ("m68k-sony-newsos%s\n", 157049bee38cSmrg#ifdef NEWSOS4 157149bee38cSmrg "4" 157249bee38cSmrg#else 157349bee38cSmrg "" 157449bee38cSmrg#endif 157549bee38cSmrg ); exit (0); 157649bee38cSmrg#endif 157749bee38cSmrg#endif 157849bee38cSmrg 157949bee38cSmrg#if defined (NeXT) 158049bee38cSmrg#if !defined (__ARCHITECTURE__) 158149bee38cSmrg#define __ARCHITECTURE__ "m68k" 158249bee38cSmrg#endif 158349bee38cSmrg int version; 158449bee38cSmrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 158549bee38cSmrg if (version < 4) 158649bee38cSmrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 158749bee38cSmrg else 158849bee38cSmrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 158949bee38cSmrg exit (0); 159049bee38cSmrg#endif 159149bee38cSmrg 159249bee38cSmrg#if defined (MULTIMAX) || defined (n16) 159349bee38cSmrg#if defined (UMAXV) 159449bee38cSmrg printf ("ns32k-encore-sysv\n"); exit (0); 159549bee38cSmrg#else 159649bee38cSmrg#if defined (CMU) 159749bee38cSmrg printf ("ns32k-encore-mach\n"); exit (0); 159849bee38cSmrg#else 159949bee38cSmrg printf ("ns32k-encore-bsd\n"); exit (0); 160049bee38cSmrg#endif 160149bee38cSmrg#endif 160249bee38cSmrg#endif 160349bee38cSmrg 160449bee38cSmrg#if defined (__386BSD__) 160549bee38cSmrg printf ("i386-pc-bsd\n"); exit (0); 160649bee38cSmrg#endif 160749bee38cSmrg 160849bee38cSmrg#if defined (sequent) 160949bee38cSmrg#if defined (i386) 161049bee38cSmrg printf ("i386-sequent-dynix\n"); exit (0); 161149bee38cSmrg#endif 161249bee38cSmrg#if defined (ns32000) 161349bee38cSmrg printf ("ns32k-sequent-dynix\n"); exit (0); 161449bee38cSmrg#endif 161549bee38cSmrg#endif 161649bee38cSmrg 161749bee38cSmrg#if defined (_SEQUENT_) 161849bee38cSmrg struct utsname un; 161949bee38cSmrg 162049bee38cSmrg uname(&un); 162149bee38cSmrg if (strncmp(un.version, "V2", 2) == 0) { 162249bee38cSmrg printf ("i386-sequent-ptx2\n"); exit (0); 162349bee38cSmrg } 162449bee38cSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 162549bee38cSmrg printf ("i386-sequent-ptx1\n"); exit (0); 162649bee38cSmrg } 162749bee38cSmrg printf ("i386-sequent-ptx\n"); exit (0); 162849bee38cSmrg#endif 162949bee38cSmrg 163049bee38cSmrg#if defined (vax) 163149bee38cSmrg#if !defined (ultrix) 163249bee38cSmrg#include <sys/param.h> 163349bee38cSmrg#if defined (BSD) 163449bee38cSmrg#if BSD == 43 163549bee38cSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 163649bee38cSmrg#else 163749bee38cSmrg#if BSD == 199006 163849bee38cSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 163949bee38cSmrg#else 164049bee38cSmrg printf ("vax-dec-bsd\n"); exit (0); 164149bee38cSmrg#endif 164249bee38cSmrg#endif 164349bee38cSmrg#else 164449bee38cSmrg printf ("vax-dec-bsd\n"); exit (0); 164549bee38cSmrg#endif 164649bee38cSmrg#else 164749bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 164849bee38cSmrg struct utsname un; 164949bee38cSmrg uname (&un); 165049bee38cSmrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 165149bee38cSmrg#else 165249bee38cSmrg printf ("vax-dec-ultrix\n"); exit (0); 165349bee38cSmrg#endif 165449bee38cSmrg#endif 165549bee38cSmrg#endif 165649bee38cSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 165749bee38cSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 165849bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 165949bee38cSmrg struct utsname *un; 166049bee38cSmrg uname (&un); 166149bee38cSmrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 166249bee38cSmrg#else 166349bee38cSmrg printf ("mips-dec-ultrix\n"); exit (0); 166449bee38cSmrg#endif 166549bee38cSmrg#endif 166649bee38cSmrg#endif 166749bee38cSmrg 166849bee38cSmrg#if defined (alliant) && defined (i860) 166949bee38cSmrg printf ("i860-alliant-bsd\n"); exit (0); 167049bee38cSmrg#endif 167149bee38cSmrg 167249bee38cSmrg exit (1); 167349bee38cSmrg} 167449bee38cSmrgEOF 167549bee38cSmrg 167649bee38cSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 167749bee38cSmrg { echo "$SYSTEM_NAME"; exit; } 167849bee38cSmrg 167949bee38cSmrg# Apollos put the system type in the environment. 168049bee38cSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 168149bee38cSmrg 168281676fe2Smrgecho "$0: unable to guess system type" >&2 1683fc89c0fbSmrg 168449bee38cSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 168581676fe2Smrg mips:Linux | mips64:Linux) 168681676fe2Smrg # If we got here on MIPS GNU/Linux, output extra information. 168781676fe2Smrg cat >&2 <<EOF 1688fc89c0fbSmrg 168981676fe2SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 169081676fe2Smrgthe system type. Please install a C compiler and try again. 1691fc89c0fbSmrgEOF 169281676fe2Smrg ;; 169381676fe2Smrgesac 1694fc89c0fbSmrg 1695fc89c0fbSmrgcat >&2 <<EOF 1696fc89c0fbSmrg 169781676fe2SmrgThis script (version $timestamp), has failed to recognize the 169881676fe2Smrgoperating system you are using. If your script is old, overwrite *all* 169981676fe2Smrgcopies of config.guess and config.sub with the latest versions from: 1700fc89c0fbSmrg 170149bee38cSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1702fc89c0fbSmrgand 170349bee38cSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 170449bee38cSmrgEOF 170549bee38cSmrg 170649bee38cSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 170749bee38cSmrgthisyear=`date +%Y` 170849bee38cSmrg# shellcheck disable=SC2003 170949bee38cSmrgscript_age=`expr "$thisyear" - "$our_year"` 171049bee38cSmrgif test "$script_age" -lt 3 ; then 171149bee38cSmrg cat >&2 <<EOF 1712fc89c0fbSmrg 171381676fe2SmrgIf $0 has already been updated, send the following data and any 171481676fe2Smrginformation you think might be pertinent to config-patches@gnu.org to 171581676fe2Smrgprovide the necessary information to handle your system. 1716fc89c0fbSmrg 1717fc89c0fbSmrgconfig.guess timestamp = $timestamp 1718fc89c0fbSmrg 1719fc89c0fbSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1720fc89c0fbSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1721fc89c0fbSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1722fc89c0fbSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1723fc89c0fbSmrg 1724fc89c0fbSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1725fc89c0fbSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1726fc89c0fbSmrg 1727fc89c0fbSmrghostinfo = `(hostinfo) 2>/dev/null` 1728fc89c0fbSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1729fc89c0fbSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1730fc89c0fbSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1731fc89c0fbSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1732fc89c0fbSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1733fc89c0fbSmrg 173481676fe2SmrgUNAME_MACHINE = "$UNAME_MACHINE" 173581676fe2SmrgUNAME_RELEASE = "$UNAME_RELEASE" 173681676fe2SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 173781676fe2SmrgUNAME_VERSION = "$UNAME_VERSION" 1738fc89c0fbSmrgEOF 173949bee38cSmrgfi 1740fc89c0fbSmrg 1741fc89c0fbSmrgexit 1 1742fc89c0fbSmrg 1743fc89c0fbSmrg# Local variables: 174449bee38cSmrg# eval: (add-hook 'before-save-hook 'time-stamp) 1745fc89c0fbSmrg# time-stamp-start: "timestamp='" 1746fc89c0fbSmrg# time-stamp-format: "%:y-%02m-%02d" 1747fc89c0fbSmrg# time-stamp-end: "'" 1748fc89c0fbSmrg# End: 1749