104007ebaSmrg#! /bin/sh 204007ebaSmrg# Attempt to guess a canonical system name. 379d5fcd7Smrg# Copyright 1992-2023 Free Software Foundation, Inc. 404007ebaSmrg 579d5fcd7Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 679d5fcd7Smrg 779d5fcd7Smrgtimestamp='2023-01-01' 804007ebaSmrg 904007ebaSmrg# This file is free software; you can redistribute it and/or modify it 1004007ebaSmrg# under the terms of the GNU General Public License as published by 1179d5fcd7Smrg# the Free Software Foundation, either version 3 of the License, or 1204007ebaSmrg# (at your option) any later version. 1304007ebaSmrg# 1404007ebaSmrg# This program is distributed in the hope that it will be useful, but 1504007ebaSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1604007ebaSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1704007ebaSmrg# General Public License for more details. 1804007ebaSmrg# 1904007ebaSmrg# You should have received a copy of the GNU General Public License 2005cf1079Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 2104007ebaSmrg# 2204007ebaSmrg# As a special exception to the GNU General Public License, if you 2304007ebaSmrg# distribute this file as part of a program that contains a 2404007ebaSmrg# configuration script generated by Autoconf, you may include it under 2504007ebaSmrg# the same distribution terms that you use for the rest of that 2604007ebaSmrg# program. This Exception is an additional permission under section 7 2704007ebaSmrg# of the GNU General Public License, version 3 ("GPLv3"). 2804007ebaSmrg# 2905cf1079Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 3004007ebaSmrg# 3104007ebaSmrg# You can get the latest version of this script from: 3279d5fcd7Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 3304007ebaSmrg# 3405cf1079Smrg# Please send patches to <config-patches@gnu.org>. 3504007ebaSmrg 3604007ebaSmrg 3779d5fcd7Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 3879d5fcd7Smrg# about features and limitations of the classic Bourne shell that were 3979d5fcd7Smrg# superseded or lifted in POSIX. However, this script identifies a wide 4079d5fcd7Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 4179d5fcd7Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 4279d5fcd7Smrg# have a pre-POSIX /bin/sh. 4379d5fcd7Smrg 4479d5fcd7Smrg 4504007ebaSmrgme=`echo "$0" | sed -e 's,.*/,,'` 4604007ebaSmrg 4704007ebaSmrgusage="\ 4804007ebaSmrgUsage: $0 [OPTION] 4904007ebaSmrg 5004007ebaSmrgOutput the configuration name of the system \`$me' is run on. 5104007ebaSmrg 5205cf1079SmrgOptions: 5304007ebaSmrg -h, --help print this help, then exit 5404007ebaSmrg -t, --time-stamp print date of last modification, then exit 5504007ebaSmrg -v, --version print version number, then exit 5604007ebaSmrg 5704007ebaSmrgReport bugs and patches to <config-patches@gnu.org>." 5804007ebaSmrg 5904007ebaSmrgversion="\ 6004007ebaSmrgGNU config.guess ($timestamp) 6104007ebaSmrg 6204007ebaSmrgOriginally written by Per Bothner. 6379d5fcd7SmrgCopyright 1992-2023 Free Software Foundation, Inc. 6404007ebaSmrg 6504007ebaSmrgThis is free software; see the source for copying conditions. There is NO 6604007ebaSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 6704007ebaSmrg 6804007ebaSmrghelp=" 6904007ebaSmrgTry \`$me --help' for more information." 7004007ebaSmrg 7104007ebaSmrg# Parse command line 7204007ebaSmrgwhile test $# -gt 0 ; do 7304007ebaSmrg case $1 in 7404007ebaSmrg --time-stamp | --time* | -t ) 7504007ebaSmrg echo "$timestamp" ; exit ;; 7604007ebaSmrg --version | -v ) 7704007ebaSmrg echo "$version" ; exit ;; 7804007ebaSmrg --help | --h* | -h ) 7904007ebaSmrg echo "$usage"; exit ;; 8004007ebaSmrg -- ) # Stop option processing 8104007ebaSmrg shift; break ;; 8204007ebaSmrg - ) # Use stdin as input. 8304007ebaSmrg break ;; 8404007ebaSmrg -* ) 8504007ebaSmrg echo "$me: invalid option $1$help" >&2 8604007ebaSmrg exit 1 ;; 8704007ebaSmrg * ) 8804007ebaSmrg break ;; 8904007ebaSmrg esac 9004007ebaSmrgdone 9104007ebaSmrg 9204007ebaSmrgif test $# != 0; then 9304007ebaSmrg echo "$me: too many arguments$help" >&2 9404007ebaSmrg exit 1 9504007ebaSmrgfi 9604007ebaSmrg 9779d5fcd7Smrg# Just in case it came from the environment. 9879d5fcd7SmrgGUESS= 9904007ebaSmrg 10004007ebaSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 10104007ebaSmrg# compiler to aid in system detection is discouraged as it requires 10204007ebaSmrg# temporary files to be created and, as you can see below, it is a 10304007ebaSmrg# headache to deal with in a portable fashion. 10404007ebaSmrg 10504007ebaSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 10604007ebaSmrg# use `HOST_CC' if defined, but it is deprecated. 10704007ebaSmrg 10804007ebaSmrg# Portable tmp directory creation inspired by the Autoconf team. 10904007ebaSmrg 11079d5fcd7Smrgtmp= 11179d5fcd7Smrg# shellcheck disable=SC2172 11279d5fcd7Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11379d5fcd7Smrg 11479d5fcd7Smrgset_cc_for_build() { 11579d5fcd7Smrg # prevent multiple calls if $tmp is already set 11679d5fcd7Smrg test "$tmp" && return 0 11779d5fcd7Smrg : "${TMPDIR=/tmp}" 11879d5fcd7Smrg # shellcheck disable=SC2039,SC3028 11979d5fcd7Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12079d5fcd7Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12179d5fcd7Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12279d5fcd7Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12379d5fcd7Smrg dummy=$tmp/dummy 12479d5fcd7Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12579d5fcd7Smrg ,,) echo "int x;" > "$dummy.c" 12679d5fcd7Smrg for driver in cc gcc c89 c99 ; do 12779d5fcd7Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 12879d5fcd7Smrg CC_FOR_BUILD=$driver 12979d5fcd7Smrg break 13079d5fcd7Smrg fi 13179d5fcd7Smrg done 13279d5fcd7Smrg if test x"$CC_FOR_BUILD" = x ; then 13379d5fcd7Smrg CC_FOR_BUILD=no_compiler_found 13479d5fcd7Smrg fi 13579d5fcd7Smrg ;; 13679d5fcd7Smrg ,,*) CC_FOR_BUILD=$CC ;; 13779d5fcd7Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13879d5fcd7Smrg esac 13979d5fcd7Smrg} 14004007ebaSmrg 14104007ebaSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 14204007ebaSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 14379d5fcd7Smrgif test -f /.attbin/uname ; then 14404007ebaSmrg PATH=$PATH:/.attbin ; export PATH 14504007ebaSmrgfi 14604007ebaSmrg 14704007ebaSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 14804007ebaSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 14979d5fcd7SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 15004007ebaSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 15104007ebaSmrg 15279d5fcd7Smrgcase $UNAME_SYSTEM in 15304007ebaSmrgLinux|GNU|GNU/*) 15479d5fcd7Smrg LIBC=unknown 15504007ebaSmrg 15679d5fcd7Smrg set_cc_for_build 15705cf1079Smrg cat <<-EOF > "$dummy.c" 15804007ebaSmrg #include <features.h> 15904007ebaSmrg #if defined(__UCLIBC__) 16004007ebaSmrg LIBC=uclibc 16104007ebaSmrg #elif defined(__dietlibc__) 16204007ebaSmrg LIBC=dietlibc 16379d5fcd7Smrg #elif defined(__GLIBC__) 16404007ebaSmrg LIBC=gnu 16579d5fcd7Smrg #else 16679d5fcd7Smrg #include <stdarg.h> 16779d5fcd7Smrg /* First heuristic to detect musl libc. */ 16879d5fcd7Smrg #ifdef __DEFINED_va_list 16979d5fcd7Smrg LIBC=musl 17079d5fcd7Smrg #endif 17104007ebaSmrg #endif 17204007ebaSmrg EOF 17379d5fcd7Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 17479d5fcd7Smrg eval "$cc_set_libc" 17505cf1079Smrg 17679d5fcd7Smrg # Second heuristic to detect musl libc. 17779d5fcd7Smrg if [ "$LIBC" = unknown ] && 17879d5fcd7Smrg command -v ldd >/dev/null && 17979d5fcd7Smrg ldd --version 2>&1 | grep -q ^musl; then 18079d5fcd7Smrg LIBC=musl 18179d5fcd7Smrg fi 18279d5fcd7Smrg 18379d5fcd7Smrg # If the system lacks a compiler, then just pick glibc. 18479d5fcd7Smrg # We could probably try harder. 18579d5fcd7Smrg if [ "$LIBC" = unknown ]; then 18679d5fcd7Smrg LIBC=gnu 18705cf1079Smrg fi 18804007ebaSmrg ;; 18904007ebaSmrgesac 19004007ebaSmrg 19104007ebaSmrg# Note: order is significant - the case branches are not exclusive. 19204007ebaSmrg 19379d5fcd7Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 19404007ebaSmrg *:NetBSD:*:*) 19504007ebaSmrg # NetBSD (nbsd) targets should (where applicable) match one or 19604007ebaSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 19704007ebaSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 19804007ebaSmrg # switched to ELF, *-*-netbsd* would select the old 19904007ebaSmrg # object file format. This provides both forward 20004007ebaSmrg # compatibility and a consistent mechanism for selecting the 20104007ebaSmrg # object file format. 20204007ebaSmrg # 20304007ebaSmrg # Note: NetBSD doesn't particularly care about the vendor 20404007ebaSmrg # portion of the name. We always set it to "unknown". 20505cf1079Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 20679d5fcd7Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20779d5fcd7Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20805cf1079Smrg echo unknown)` 20979d5fcd7Smrg case $UNAME_MACHINE_ARCH in 21079d5fcd7Smrg aarch64eb) machine=aarch64_be-unknown ;; 21104007ebaSmrg armeb) machine=armeb-unknown ;; 21204007ebaSmrg arm*) machine=arm-unknown ;; 21304007ebaSmrg sh3el) machine=shl-unknown ;; 21404007ebaSmrg sh3eb) machine=sh-unknown ;; 21504007ebaSmrg sh5el) machine=sh5le-unknown ;; 21605cf1079Smrg earmv*) 21705cf1079Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 21805cf1079Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 21979d5fcd7Smrg machine=${arch}${endian}-unknown 22005cf1079Smrg ;; 22179d5fcd7Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 22204007ebaSmrg esac 22304007ebaSmrg # The Operating System including object format, if it has switched 22405cf1079Smrg # to ELF recently (or will in the future) and ABI. 22579d5fcd7Smrg case $UNAME_MACHINE_ARCH in 22605cf1079Smrg earm*) 22705cf1079Smrg os=netbsdelf 22805cf1079Smrg ;; 22919b15abdSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23079d5fcd7Smrg set_cc_for_build 23104007ebaSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 23204007ebaSmrg | grep -q __ELF__ 23304007ebaSmrg then 23404007ebaSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 23504007ebaSmrg # Return netbsd for either. FIX? 23604007ebaSmrg os=netbsd 23704007ebaSmrg else 23804007ebaSmrg os=netbsdelf 23904007ebaSmrg fi 24004007ebaSmrg ;; 24104007ebaSmrg *) 24204007ebaSmrg os=netbsd 24304007ebaSmrg ;; 24404007ebaSmrg esac 24505cf1079Smrg # Determine ABI tags. 24679d5fcd7Smrg case $UNAME_MACHINE_ARCH in 24705cf1079Smrg earm*) 24805cf1079Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 24905cf1079Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 25005cf1079Smrg ;; 25105cf1079Smrg esac 25204007ebaSmrg # The OS release 25304007ebaSmrg # Debian GNU/NetBSD machines have a different userland, and 25404007ebaSmrg # thus, need a distinct triplet. However, they do not need 25504007ebaSmrg # kernel version information, so it can be replaced with a 25604007ebaSmrg # suitable tag, in the style of linux-gnu. 25779d5fcd7Smrg case $UNAME_VERSION in 25804007ebaSmrg Debian*) 25904007ebaSmrg release='-gnu' 26004007ebaSmrg ;; 26104007ebaSmrg *) 26205cf1079Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 26304007ebaSmrg ;; 26404007ebaSmrg esac 26504007ebaSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 26604007ebaSmrg # contains redundant information, the shorter form: 26704007ebaSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 26879d5fcd7Smrg GUESS=$machine-${os}${release}${abi-} 26979d5fcd7Smrg ;; 27004007ebaSmrg *:Bitrig:*:*) 27104007ebaSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 27279d5fcd7Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 27379d5fcd7Smrg ;; 27404007ebaSmrg *:OpenBSD:*:*) 27504007ebaSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 27679d5fcd7Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 27779d5fcd7Smrg ;; 27879d5fcd7Smrg *:SecBSD:*:*) 27979d5fcd7Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 28079d5fcd7Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 28179d5fcd7Smrg ;; 28205cf1079Smrg *:LibertyBSD:*:*) 28305cf1079Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 28479d5fcd7Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 28579d5fcd7Smrg ;; 28605cf1079Smrg *:MidnightBSD:*:*) 28779d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 28879d5fcd7Smrg ;; 28904007ebaSmrg *:ekkoBSD:*:*) 29079d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 29179d5fcd7Smrg ;; 29204007ebaSmrg *:SolidBSD:*:*) 29379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 29479d5fcd7Smrg ;; 29579d5fcd7Smrg *:OS108:*:*) 29679d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 29779d5fcd7Smrg ;; 29804007ebaSmrg macppc:MirBSD:*:*) 29979d5fcd7Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 30079d5fcd7Smrg ;; 30104007ebaSmrg *:MirBSD:*:*) 30279d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 30379d5fcd7Smrg ;; 30405cf1079Smrg *:Sortix:*:*) 30579d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-sortix 30679d5fcd7Smrg ;; 30779d5fcd7Smrg *:Twizzler:*:*) 30879d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 30979d5fcd7Smrg ;; 31005cf1079Smrg *:Redox:*:*) 31179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-redox 31279d5fcd7Smrg ;; 31305cf1079Smrg mips:OSF1:*.*) 31479d5fcd7Smrg GUESS=mips-dec-osf1 31579d5fcd7Smrg ;; 31604007ebaSmrg alpha:OSF1:*:*) 31779d5fcd7Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 31879d5fcd7Smrg trap '' 0 31904007ebaSmrg case $UNAME_RELEASE in 32004007ebaSmrg *4.0) 32104007ebaSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 32204007ebaSmrg ;; 32304007ebaSmrg *5.*) 32404007ebaSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 32504007ebaSmrg ;; 32604007ebaSmrg esac 32704007ebaSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 32804007ebaSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 32904007ebaSmrg # covers most systems running today. This code pipes the CPU 33004007ebaSmrg # types through head -n 1, so we only detect the type of CPU 0. 33104007ebaSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 33279d5fcd7Smrg case $ALPHA_CPU_TYPE in 33304007ebaSmrg "EV4 (21064)") 33405cf1079Smrg UNAME_MACHINE=alpha ;; 33504007ebaSmrg "EV4.5 (21064)") 33605cf1079Smrg UNAME_MACHINE=alpha ;; 33704007ebaSmrg "LCA4 (21066/21068)") 33805cf1079Smrg UNAME_MACHINE=alpha ;; 33904007ebaSmrg "EV5 (21164)") 34005cf1079Smrg UNAME_MACHINE=alphaev5 ;; 34104007ebaSmrg "EV5.6 (21164A)") 34205cf1079Smrg UNAME_MACHINE=alphaev56 ;; 34304007ebaSmrg "EV5.6 (21164PC)") 34405cf1079Smrg UNAME_MACHINE=alphapca56 ;; 34504007ebaSmrg "EV5.7 (21164PC)") 34605cf1079Smrg UNAME_MACHINE=alphapca57 ;; 34704007ebaSmrg "EV6 (21264)") 34805cf1079Smrg UNAME_MACHINE=alphaev6 ;; 34904007ebaSmrg "EV6.7 (21264A)") 35005cf1079Smrg UNAME_MACHINE=alphaev67 ;; 35104007ebaSmrg "EV6.8CB (21264C)") 35205cf1079Smrg UNAME_MACHINE=alphaev68 ;; 35304007ebaSmrg "EV6.8AL (21264B)") 35405cf1079Smrg UNAME_MACHINE=alphaev68 ;; 35504007ebaSmrg "EV6.8CX (21264D)") 35605cf1079Smrg UNAME_MACHINE=alphaev68 ;; 35704007ebaSmrg "EV6.9A (21264/EV69A)") 35805cf1079Smrg UNAME_MACHINE=alphaev69 ;; 35904007ebaSmrg "EV7 (21364)") 36005cf1079Smrg UNAME_MACHINE=alphaev7 ;; 36104007ebaSmrg "EV7.9 (21364A)") 36205cf1079Smrg UNAME_MACHINE=alphaev79 ;; 36304007ebaSmrg esac 36404007ebaSmrg # A Pn.n version is a patched version. 36504007ebaSmrg # A Vn.n version is a released version. 36604007ebaSmrg # A Tn.n version is a released field test version. 36704007ebaSmrg # A Xn.n version is an unreleased experimental baselevel. 36804007ebaSmrg # 1.2 uses "1.2" for uname -r. 36979d5fcd7Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 37079d5fcd7Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 37179d5fcd7Smrg ;; 37204007ebaSmrg Amiga*:UNIX_System_V:4.0:*) 37379d5fcd7Smrg GUESS=m68k-unknown-sysv4 37479d5fcd7Smrg ;; 37504007ebaSmrg *:[Aa]miga[Oo][Ss]:*:*) 37679d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 37779d5fcd7Smrg ;; 37804007ebaSmrg *:[Mm]orph[Oo][Ss]:*:*) 37979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-morphos 38079d5fcd7Smrg ;; 38104007ebaSmrg *:OS/390:*:*) 38279d5fcd7Smrg GUESS=i370-ibm-openedition 38379d5fcd7Smrg ;; 38404007ebaSmrg *:z/VM:*:*) 38579d5fcd7Smrg GUESS=s390-ibm-zvmoe 38679d5fcd7Smrg ;; 38704007ebaSmrg *:OS400:*:*) 38879d5fcd7Smrg GUESS=powerpc-ibm-os400 38979d5fcd7Smrg ;; 39004007ebaSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 39179d5fcd7Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 39279d5fcd7Smrg ;; 39304007ebaSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 39479d5fcd7Smrg GUESS=arm-unknown-riscos 39579d5fcd7Smrg ;; 39604007ebaSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 39779d5fcd7Smrg GUESS=hppa1.1-hitachi-hiuxmpp 39879d5fcd7Smrg ;; 39904007ebaSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 40004007ebaSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 40179d5fcd7Smrg case `(/bin/universe) 2>/dev/null` in 40279d5fcd7Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 40379d5fcd7Smrg *) GUESS=pyramid-pyramid-bsd ;; 40479d5fcd7Smrg esac 40579d5fcd7Smrg ;; 40604007ebaSmrg NILE*:*:*:dcosx) 40779d5fcd7Smrg GUESS=pyramid-pyramid-svr4 40879d5fcd7Smrg ;; 40904007ebaSmrg DRS?6000:unix:4.0:6*) 41079d5fcd7Smrg GUESS=sparc-icl-nx6 41179d5fcd7Smrg ;; 41204007ebaSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 41304007ebaSmrg case `/usr/bin/uname -p` in 41479d5fcd7Smrg sparc) GUESS=sparc-icl-nx7 ;; 41579d5fcd7Smrg esac 41679d5fcd7Smrg ;; 41704007ebaSmrg s390x:SunOS:*:*) 41879d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 41979d5fcd7Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 42079d5fcd7Smrg ;; 42104007ebaSmrg sun4H:SunOS:5.*:*) 42279d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42379d5fcd7Smrg GUESS=sparc-hal-solaris2$SUN_REL 42479d5fcd7Smrg ;; 42504007ebaSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 42679d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42779d5fcd7Smrg GUESS=sparc-sun-solaris2$SUN_REL 42879d5fcd7Smrg ;; 42904007ebaSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 43079d5fcd7Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 43179d5fcd7Smrg ;; 43204007ebaSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43379d5fcd7Smrg set_cc_for_build 43405cf1079Smrg SUN_ARCH=i386 43504007ebaSmrg # If there is a compiler, see if it is configured for 64-bit objects. 43604007ebaSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 43704007ebaSmrg # This test works for both compilers. 43879d5fcd7Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 43904007ebaSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 44079d5fcd7Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 44104007ebaSmrg grep IS_64BIT_ARCH >/dev/null 44204007ebaSmrg then 44305cf1079Smrg SUN_ARCH=x86_64 44404007ebaSmrg fi 44504007ebaSmrg fi 44679d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 44779d5fcd7Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 44879d5fcd7Smrg ;; 44904007ebaSmrg sun4*:SunOS:6*:*) 45004007ebaSmrg # According to config.sub, this is the proper way to canonicalize 45104007ebaSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 45204007ebaSmrg # it's likely to be more like Solaris than SunOS4. 45379d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 45479d5fcd7Smrg GUESS=sparc-sun-solaris3$SUN_REL 45579d5fcd7Smrg ;; 45604007ebaSmrg sun4*:SunOS:*:*) 45779d5fcd7Smrg case `/usr/bin/arch -k` in 45804007ebaSmrg Series*|S4*) 45904007ebaSmrg UNAME_RELEASE=`uname -v` 46004007ebaSmrg ;; 46104007ebaSmrg esac 46204007ebaSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 46379d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 46479d5fcd7Smrg GUESS=sparc-sun-sunos$SUN_REL 46579d5fcd7Smrg ;; 46604007ebaSmrg sun3*:SunOS:*:*) 46779d5fcd7Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 46879d5fcd7Smrg ;; 46904007ebaSmrg sun*:*:4.2BSD:*) 47004007ebaSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47105cf1079Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 47279d5fcd7Smrg case `/bin/arch` in 47304007ebaSmrg sun3) 47479d5fcd7Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 47504007ebaSmrg ;; 47604007ebaSmrg sun4) 47779d5fcd7Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 47804007ebaSmrg ;; 47904007ebaSmrg esac 48079d5fcd7Smrg ;; 48104007ebaSmrg aushp:SunOS:*:*) 48279d5fcd7Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 48379d5fcd7Smrg ;; 48404007ebaSmrg # The situation for MiNT is a little confusing. The machine name 48504007ebaSmrg # can be virtually everything (everything which is not 48604007ebaSmrg # "atarist" or "atariste" at least should have a processor 48704007ebaSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 48804007ebaSmrg # to the lowercase version "mint" (or "freemint"). Finally 48904007ebaSmrg # the system name "TOS" denotes a system which is actually not 49004007ebaSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 49104007ebaSmrg # be no problem. 49204007ebaSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 49379d5fcd7Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 49479d5fcd7Smrg ;; 49504007ebaSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 49679d5fcd7Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 49779d5fcd7Smrg ;; 49804007ebaSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 49979d5fcd7Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 50079d5fcd7Smrg ;; 50104007ebaSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 50279d5fcd7Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 50379d5fcd7Smrg ;; 50404007ebaSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 50579d5fcd7Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 50679d5fcd7Smrg ;; 50704007ebaSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 50879d5fcd7Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 50979d5fcd7Smrg ;; 51004007ebaSmrg m68k:machten:*:*) 51179d5fcd7Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 51279d5fcd7Smrg ;; 51304007ebaSmrg powerpc:machten:*:*) 51479d5fcd7Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 51579d5fcd7Smrg ;; 51604007ebaSmrg RISC*:Mach:*:*) 51779d5fcd7Smrg GUESS=mips-dec-mach_bsd4.3 51879d5fcd7Smrg ;; 51904007ebaSmrg RISC*:ULTRIX:*:*) 52079d5fcd7Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 52179d5fcd7Smrg ;; 52204007ebaSmrg VAX*:ULTRIX*:*:*) 52379d5fcd7Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 52479d5fcd7Smrg ;; 52504007ebaSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 52679d5fcd7Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 52779d5fcd7Smrg ;; 52804007ebaSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 52979d5fcd7Smrg set_cc_for_build 53005cf1079Smrg sed 's/^ //' << EOF > "$dummy.c" 53104007ebaSmrg#ifdef __cplusplus 53204007ebaSmrg#include <stdio.h> /* for printf() prototype */ 53304007ebaSmrg int main (int argc, char *argv[]) { 53404007ebaSmrg#else 53504007ebaSmrg int main (argc, argv) int argc; char *argv[]; { 53604007ebaSmrg#endif 53704007ebaSmrg #if defined (host_mips) && defined (MIPSEB) 53804007ebaSmrg #if defined (SYSTYPE_SYSV) 53905cf1079Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 54004007ebaSmrg #endif 54104007ebaSmrg #if defined (SYSTYPE_SVR4) 54205cf1079Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 54304007ebaSmrg #endif 54404007ebaSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 54505cf1079Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 54604007ebaSmrg #endif 54704007ebaSmrg #endif 54804007ebaSmrg exit (-1); 54904007ebaSmrg } 55004007ebaSmrgEOF 55105cf1079Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 55205cf1079Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 55305cf1079Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 55404007ebaSmrg { echo "$SYSTEM_NAME"; exit; } 55579d5fcd7Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 55679d5fcd7Smrg ;; 55704007ebaSmrg Motorola:PowerMAX_OS:*:*) 55879d5fcd7Smrg GUESS=powerpc-motorola-powermax 55979d5fcd7Smrg ;; 56004007ebaSmrg Motorola:*:4.3:PL8-*) 56179d5fcd7Smrg GUESS=powerpc-harris-powermax 56279d5fcd7Smrg ;; 56304007ebaSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 56479d5fcd7Smrg GUESS=powerpc-harris-powermax 56579d5fcd7Smrg ;; 56604007ebaSmrg Night_Hawk:Power_UNIX:*:*) 56779d5fcd7Smrg GUESS=powerpc-harris-powerunix 56879d5fcd7Smrg ;; 56904007ebaSmrg m88k:CX/UX:7*:*) 57079d5fcd7Smrg GUESS=m88k-harris-cxux7 57179d5fcd7Smrg ;; 57204007ebaSmrg m88k:*:4*:R4*) 57379d5fcd7Smrg GUESS=m88k-motorola-sysv4 57479d5fcd7Smrg ;; 57504007ebaSmrg m88k:*:3*:R3*) 57679d5fcd7Smrg GUESS=m88k-motorola-sysv3 57779d5fcd7Smrg ;; 57804007ebaSmrg AViiON:dgux:*:*) 57904007ebaSmrg # DG/UX returns AViiON for all architectures 58004007ebaSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 58179d5fcd7Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 58204007ebaSmrg then 58379d5fcd7Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 58479d5fcd7Smrg test "$TARGET_BINARY_INTERFACE"x = x 58504007ebaSmrg then 58679d5fcd7Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 58704007ebaSmrg else 58879d5fcd7Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 58904007ebaSmrg fi 59004007ebaSmrg else 59179d5fcd7Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 59204007ebaSmrg fi 59379d5fcd7Smrg ;; 59404007ebaSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 59579d5fcd7Smrg GUESS=m88k-dolphin-sysv3 59679d5fcd7Smrg ;; 59704007ebaSmrg M88*:*:R3*:*) 59804007ebaSmrg # Delta 88k system running SVR3 59979d5fcd7Smrg GUESS=m88k-motorola-sysv3 60079d5fcd7Smrg ;; 60104007ebaSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 60279d5fcd7Smrg GUESS=m88k-tektronix-sysv3 60379d5fcd7Smrg ;; 60404007ebaSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 60579d5fcd7Smrg GUESS=m68k-tektronix-bsd 60679d5fcd7Smrg ;; 60704007ebaSmrg *:IRIX*:*:*) 60879d5fcd7Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 60979d5fcd7Smrg GUESS=mips-sgi-irix$IRIX_REL 61079d5fcd7Smrg ;; 61104007ebaSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 61279d5fcd7Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 61379d5fcd7Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 61404007ebaSmrg i*86:AIX:*:*) 61579d5fcd7Smrg GUESS=i386-ibm-aix 61679d5fcd7Smrg ;; 61704007ebaSmrg ia64:AIX:*:*) 61879d5fcd7Smrg if test -x /usr/bin/oslevel ; then 61904007ebaSmrg IBM_REV=`/usr/bin/oslevel` 62004007ebaSmrg else 62179d5fcd7Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 62204007ebaSmrg fi 62379d5fcd7Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 62479d5fcd7Smrg ;; 62504007ebaSmrg *:AIX:2:3) 62604007ebaSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 62779d5fcd7Smrg set_cc_for_build 62805cf1079Smrg sed 's/^ //' << EOF > "$dummy.c" 62904007ebaSmrg #include <sys/systemcfg.h> 63004007ebaSmrg 63104007ebaSmrg main() 63204007ebaSmrg { 63304007ebaSmrg if (!__power_pc()) 63404007ebaSmrg exit(1); 63504007ebaSmrg puts("powerpc-ibm-aix3.2.5"); 63604007ebaSmrg exit(0); 63704007ebaSmrg } 63804007ebaSmrgEOF 63905cf1079Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 64004007ebaSmrg then 64179d5fcd7Smrg GUESS=$SYSTEM_NAME 64204007ebaSmrg else 64379d5fcd7Smrg GUESS=rs6000-ibm-aix3.2.5 64404007ebaSmrg fi 64504007ebaSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 64679d5fcd7Smrg GUESS=rs6000-ibm-aix3.2.4 64704007ebaSmrg else 64879d5fcd7Smrg GUESS=rs6000-ibm-aix3.2 64904007ebaSmrg fi 65079d5fcd7Smrg ;; 65104007ebaSmrg *:AIX:*:[4567]) 65204007ebaSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 65305cf1079Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 65404007ebaSmrg IBM_ARCH=rs6000 65504007ebaSmrg else 65604007ebaSmrg IBM_ARCH=powerpc 65704007ebaSmrg fi 65879d5fcd7Smrg if test -x /usr/bin/lslpp ; then 65979d5fcd7Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66005cf1079Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 66104007ebaSmrg else 66279d5fcd7Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 66304007ebaSmrg fi 66479d5fcd7Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 66579d5fcd7Smrg ;; 66604007ebaSmrg *:AIX:*:*) 66779d5fcd7Smrg GUESS=rs6000-ibm-aix 66879d5fcd7Smrg ;; 66905cf1079Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 67079d5fcd7Smrg GUESS=romp-ibm-bsd4.4 67179d5fcd7Smrg ;; 67204007ebaSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 67379d5fcd7Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 67479d5fcd7Smrg ;; # report: romp-ibm BSD 4.3 67504007ebaSmrg *:BOSX:*:*) 67679d5fcd7Smrg GUESS=rs6000-bull-bosx 67779d5fcd7Smrg ;; 67804007ebaSmrg DPX/2?00:B.O.S.:*:*) 67979d5fcd7Smrg GUESS=m68k-bull-sysv3 68079d5fcd7Smrg ;; 68104007ebaSmrg 9000/[34]??:4.3bsd:1.*:*) 68279d5fcd7Smrg GUESS=m68k-hp-bsd 68379d5fcd7Smrg ;; 68404007ebaSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 68579d5fcd7Smrg GUESS=m68k-hp-bsd4.4 68679d5fcd7Smrg ;; 68704007ebaSmrg 9000/[34678]??:HP-UX:*:*) 68879d5fcd7Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 68979d5fcd7Smrg case $UNAME_MACHINE in 69005cf1079Smrg 9000/31?) HP_ARCH=m68000 ;; 69105cf1079Smrg 9000/[34]??) HP_ARCH=m68k ;; 69204007ebaSmrg 9000/[678][0-9][0-9]) 69379d5fcd7Smrg if test -x /usr/bin/getconf; then 69404007ebaSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 69504007ebaSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 69679d5fcd7Smrg case $sc_cpu_version in 69705cf1079Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 69805cf1079Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 69904007ebaSmrg 532) # CPU_PA_RISC2_0 70079d5fcd7Smrg case $sc_kernel_bits in 70105cf1079Smrg 32) HP_ARCH=hppa2.0n ;; 70205cf1079Smrg 64) HP_ARCH=hppa2.0w ;; 70305cf1079Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 70404007ebaSmrg esac ;; 70504007ebaSmrg esac 70604007ebaSmrg fi 70779d5fcd7Smrg if test "$HP_ARCH" = ""; then 70879d5fcd7Smrg set_cc_for_build 70905cf1079Smrg sed 's/^ //' << EOF > "$dummy.c" 71004007ebaSmrg 71104007ebaSmrg #define _HPUX_SOURCE 71204007ebaSmrg #include <stdlib.h> 71304007ebaSmrg #include <unistd.h> 71404007ebaSmrg 71504007ebaSmrg int main () 71604007ebaSmrg { 71704007ebaSmrg #if defined(_SC_KERNEL_BITS) 71804007ebaSmrg long bits = sysconf(_SC_KERNEL_BITS); 71904007ebaSmrg #endif 72004007ebaSmrg long cpu = sysconf (_SC_CPU_VERSION); 72104007ebaSmrg 72204007ebaSmrg switch (cpu) 72304007ebaSmrg { 72404007ebaSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 72504007ebaSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 72604007ebaSmrg case CPU_PA_RISC2_0: 72704007ebaSmrg #if defined(_SC_KERNEL_BITS) 72804007ebaSmrg switch (bits) 72904007ebaSmrg { 73004007ebaSmrg case 64: puts ("hppa2.0w"); break; 73104007ebaSmrg case 32: puts ("hppa2.0n"); break; 73204007ebaSmrg default: puts ("hppa2.0"); break; 73304007ebaSmrg } break; 73404007ebaSmrg #else /* !defined(_SC_KERNEL_BITS) */ 73504007ebaSmrg puts ("hppa2.0"); break; 73604007ebaSmrg #endif 73704007ebaSmrg default: puts ("hppa1.0"); break; 73804007ebaSmrg } 73904007ebaSmrg exit (0); 74004007ebaSmrg } 74104007ebaSmrgEOF 74205cf1079Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 74304007ebaSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 74404007ebaSmrg fi ;; 74504007ebaSmrg esac 74679d5fcd7Smrg if test "$HP_ARCH" = hppa2.0w 74704007ebaSmrg then 74879d5fcd7Smrg set_cc_for_build 74904007ebaSmrg 75004007ebaSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 75104007ebaSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 75204007ebaSmrg # generating 64-bit code. GNU and HP use different nomenclature: 75304007ebaSmrg # 75404007ebaSmrg # $ CC_FOR_BUILD=cc ./config.guess 75504007ebaSmrg # => hppa2.0w-hp-hpux11.23 75604007ebaSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 75704007ebaSmrg # => hppa64-hp-hpux11.23 75804007ebaSmrg 75905cf1079Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 76004007ebaSmrg grep -q __LP64__ 76104007ebaSmrg then 76205cf1079Smrg HP_ARCH=hppa2.0w 76304007ebaSmrg else 76405cf1079Smrg HP_ARCH=hppa64 76504007ebaSmrg fi 76604007ebaSmrg fi 76779d5fcd7Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 76879d5fcd7Smrg ;; 76904007ebaSmrg ia64:HP-UX:*:*) 77079d5fcd7Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 77179d5fcd7Smrg GUESS=ia64-hp-hpux$HPUX_REV 77279d5fcd7Smrg ;; 77304007ebaSmrg 3050*:HI-UX:*:*) 77479d5fcd7Smrg set_cc_for_build 77505cf1079Smrg sed 's/^ //' << EOF > "$dummy.c" 77604007ebaSmrg #include <unistd.h> 77704007ebaSmrg int 77804007ebaSmrg main () 77904007ebaSmrg { 78004007ebaSmrg long cpu = sysconf (_SC_CPU_VERSION); 78104007ebaSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 78204007ebaSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 78304007ebaSmrg results, however. */ 78404007ebaSmrg if (CPU_IS_PA_RISC (cpu)) 78504007ebaSmrg { 78604007ebaSmrg switch (cpu) 78704007ebaSmrg { 78804007ebaSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 78904007ebaSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 79004007ebaSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 79104007ebaSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 79204007ebaSmrg } 79304007ebaSmrg } 79404007ebaSmrg else if (CPU_IS_HP_MC68K (cpu)) 79504007ebaSmrg puts ("m68k-hitachi-hiuxwe2"); 79604007ebaSmrg else puts ("unknown-hitachi-hiuxwe2"); 79704007ebaSmrg exit (0); 79804007ebaSmrg } 79904007ebaSmrgEOF 80005cf1079Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 80104007ebaSmrg { echo "$SYSTEM_NAME"; exit; } 80279d5fcd7Smrg GUESS=unknown-hitachi-hiuxwe2 80379d5fcd7Smrg ;; 80405cf1079Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 80579d5fcd7Smrg GUESS=hppa1.1-hp-bsd 80679d5fcd7Smrg ;; 80704007ebaSmrg 9000/8??:4.3bsd:*:*) 80879d5fcd7Smrg GUESS=hppa1.0-hp-bsd 80979d5fcd7Smrg ;; 81004007ebaSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 81179d5fcd7Smrg GUESS=hppa1.0-hp-mpeix 81279d5fcd7Smrg ;; 81305cf1079Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 81479d5fcd7Smrg GUESS=hppa1.1-hp-osf 81579d5fcd7Smrg ;; 81604007ebaSmrg hp8??:OSF1:*:*) 81779d5fcd7Smrg GUESS=hppa1.0-hp-osf 81879d5fcd7Smrg ;; 81904007ebaSmrg i*86:OSF1:*:*) 82079d5fcd7Smrg if test -x /usr/sbin/sysversion ; then 82179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 82204007ebaSmrg else 82379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-osf1 82404007ebaSmrg fi 82579d5fcd7Smrg ;; 82604007ebaSmrg parisc*:Lites*:*:*) 82779d5fcd7Smrg GUESS=hppa1.1-hp-lites 82879d5fcd7Smrg ;; 82904007ebaSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 83079d5fcd7Smrg GUESS=c1-convex-bsd 83179d5fcd7Smrg ;; 83204007ebaSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 83304007ebaSmrg if getsysinfo -f scalar_acc 83404007ebaSmrg then echo c32-convex-bsd 83504007ebaSmrg else echo c2-convex-bsd 83604007ebaSmrg fi 83704007ebaSmrg exit ;; 83804007ebaSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 83979d5fcd7Smrg GUESS=c34-convex-bsd 84079d5fcd7Smrg ;; 84104007ebaSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 84279d5fcd7Smrg GUESS=c38-convex-bsd 84379d5fcd7Smrg ;; 84404007ebaSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 84579d5fcd7Smrg GUESS=c4-convex-bsd 84679d5fcd7Smrg ;; 84704007ebaSmrg CRAY*Y-MP:*:*:*) 84879d5fcd7Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 84979d5fcd7Smrg GUESS=ymp-cray-unicos$CRAY_REL 85079d5fcd7Smrg ;; 85104007ebaSmrg CRAY*[A-Z]90:*:*:*) 85205cf1079Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 85304007ebaSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 85404007ebaSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 85504007ebaSmrg -e 's/\.[^.]*$/.X/' 85604007ebaSmrg exit ;; 85704007ebaSmrg CRAY*TS:*:*:*) 85879d5fcd7Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 85979d5fcd7Smrg GUESS=t90-cray-unicos$CRAY_REL 86079d5fcd7Smrg ;; 86104007ebaSmrg CRAY*T3E:*:*:*) 86279d5fcd7Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86379d5fcd7Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 86479d5fcd7Smrg ;; 86504007ebaSmrg CRAY*SV1:*:*:*) 86679d5fcd7Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86779d5fcd7Smrg GUESS=sv1-cray-unicos$CRAY_REL 86879d5fcd7Smrg ;; 86904007ebaSmrg *:UNICOS/mp:*:*) 87079d5fcd7Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87179d5fcd7Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 87279d5fcd7Smrg ;; 87304007ebaSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 87405cf1079Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 87505cf1079Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 87605cf1079Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 87779d5fcd7Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 87879d5fcd7Smrg ;; 87904007ebaSmrg 5000:UNIX_System_V:4.*:*) 88005cf1079Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88105cf1079Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 88279d5fcd7Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88379d5fcd7Smrg ;; 88404007ebaSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 88579d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 88679d5fcd7Smrg ;; 88704007ebaSmrg sparc*:BSD/OS:*:*) 88879d5fcd7Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 88979d5fcd7Smrg ;; 89004007ebaSmrg *:BSD/OS:*:*) 89179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 89279d5fcd7Smrg ;; 89379d5fcd7Smrg arm:FreeBSD:*:*) 89479d5fcd7Smrg UNAME_PROCESSOR=`uname -p` 89579d5fcd7Smrg set_cc_for_build 89679d5fcd7Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 89779d5fcd7Smrg | grep -q __ARM_PCS_VFP 89879d5fcd7Smrg then 89979d5fcd7Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90079d5fcd7Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90179d5fcd7Smrg else 90279d5fcd7Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90379d5fcd7Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 90479d5fcd7Smrg fi 90579d5fcd7Smrg ;; 90604007ebaSmrg *:FreeBSD:*:*) 90704007ebaSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 90879d5fcd7Smrg case $UNAME_PROCESSOR in 90904007ebaSmrg amd64) 91005cf1079Smrg UNAME_PROCESSOR=x86_64 ;; 91105cf1079Smrg i386) 91205cf1079Smrg UNAME_PROCESSOR=i586 ;; 91304007ebaSmrg esac 91479d5fcd7Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 91579d5fcd7Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 91679d5fcd7Smrg ;; 91704007ebaSmrg i*:CYGWIN*:*) 91879d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-cygwin 91979d5fcd7Smrg ;; 92004007ebaSmrg *:MINGW64*:*) 92179d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-mingw64 92279d5fcd7Smrg ;; 92304007ebaSmrg *:MINGW*:*) 92479d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-mingw32 92579d5fcd7Smrg ;; 9267f419768Smrg *:MSYS*:*) 92779d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-msys 92879d5fcd7Smrg ;; 92904007ebaSmrg i*:PW*:*) 93079d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-pw32 93179d5fcd7Smrg ;; 93279d5fcd7Smrg *:SerenityOS:*:*) 93379d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-serenity 93479d5fcd7Smrg ;; 93504007ebaSmrg *:Interix*:*) 93679d5fcd7Smrg case $UNAME_MACHINE in 93704007ebaSmrg x86) 93879d5fcd7Smrg GUESS=i586-pc-interix$UNAME_RELEASE 93979d5fcd7Smrg ;; 94004007ebaSmrg authenticamd | genuineintel | EM64T) 94179d5fcd7Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 94279d5fcd7Smrg ;; 94304007ebaSmrg IA64) 94479d5fcd7Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 94579d5fcd7Smrg ;; 94604007ebaSmrg esac ;; 94704007ebaSmrg i*:UWIN*:*) 94879d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-uwin 94979d5fcd7Smrg ;; 95004007ebaSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 95179d5fcd7Smrg GUESS=x86_64-pc-cygwin 95279d5fcd7Smrg ;; 95304007ebaSmrg prep*:SunOS:5.*:*) 95479d5fcd7Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 95579d5fcd7Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 95679d5fcd7Smrg ;; 95704007ebaSmrg *:GNU:*:*) 95804007ebaSmrg # the GNU system 95979d5fcd7Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 96079d5fcd7Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 96179d5fcd7Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 96279d5fcd7Smrg ;; 96304007ebaSmrg *:GNU/*:*:*) 96404007ebaSmrg # other systems with GNU libc and userland 96579d5fcd7Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 96679d5fcd7Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 96779d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 96879d5fcd7Smrg ;; 96979d5fcd7Smrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 97079d5fcd7Smrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 97179d5fcd7Smrg ;; 97279d5fcd7Smrg *:[Mm]anagarm:*:*) 97379d5fcd7Smrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 97479d5fcd7Smrg ;; 97579d5fcd7Smrg *:Minix:*:*) 97679d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-minix 97779d5fcd7Smrg ;; 97804007ebaSmrg aarch64:Linux:*:*) 97979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98079d5fcd7Smrg ;; 98104007ebaSmrg aarch64_be:Linux:*:*) 98204007ebaSmrg UNAME_MACHINE=aarch64_be 98379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98479d5fcd7Smrg ;; 98504007ebaSmrg alpha:Linux:*:*) 98679d5fcd7Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 98704007ebaSmrg EV5) UNAME_MACHINE=alphaev5 ;; 98804007ebaSmrg EV56) UNAME_MACHINE=alphaev56 ;; 98904007ebaSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 99004007ebaSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 99104007ebaSmrg EV6) UNAME_MACHINE=alphaev6 ;; 99204007ebaSmrg EV67) UNAME_MACHINE=alphaev67 ;; 99304007ebaSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 99404007ebaSmrg esac 99504007ebaSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 99605cf1079Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 99779d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 99879d5fcd7Smrg ;; 99979d5fcd7Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 100079d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 100179d5fcd7Smrg ;; 100204007ebaSmrg arm*:Linux:*:*) 100379d5fcd7Smrg set_cc_for_build 100404007ebaSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 100504007ebaSmrg | grep -q __ARM_EABI__ 100604007ebaSmrg then 100779d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 100804007ebaSmrg else 100904007ebaSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 101004007ebaSmrg | grep -q __ARM_PCS_VFP 101104007ebaSmrg then 101279d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 101304007ebaSmrg else 101479d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 101504007ebaSmrg fi 101604007ebaSmrg fi 101779d5fcd7Smrg ;; 101804007ebaSmrg avr32*:Linux:*:*) 101979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102079d5fcd7Smrg ;; 102104007ebaSmrg cris:Linux:*:*) 102279d5fcd7Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102379d5fcd7Smrg ;; 102404007ebaSmrg crisv32:Linux:*:*) 102579d5fcd7Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102679d5fcd7Smrg ;; 102705cf1079Smrg e2k:Linux:*:*) 102879d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102979d5fcd7Smrg ;; 103004007ebaSmrg frv:Linux:*:*) 103179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103279d5fcd7Smrg ;; 103304007ebaSmrg hexagon:Linux:*:*) 103479d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103579d5fcd7Smrg ;; 103604007ebaSmrg i*86:Linux:*:*) 103779d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 103879d5fcd7Smrg ;; 103904007ebaSmrg ia64:Linux:*:*) 104079d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104179d5fcd7Smrg ;; 104205cf1079Smrg k1om:Linux:*:*) 104379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104479d5fcd7Smrg ;; 104579d5fcd7Smrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 104679d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104779d5fcd7Smrg ;; 104804007ebaSmrg m32r*:Linux:*:*) 104979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105079d5fcd7Smrg ;; 105104007ebaSmrg m68*:Linux:*:*) 105279d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105379d5fcd7Smrg ;; 105404007ebaSmrg mips:Linux:*:* | mips64:Linux:*:*) 105579d5fcd7Smrg set_cc_for_build 105679d5fcd7Smrg IS_GLIBC=0 105779d5fcd7Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 105805cf1079Smrg sed 's/^ //' << EOF > "$dummy.c" 105904007ebaSmrg #undef CPU 106079d5fcd7Smrg #undef mips 106179d5fcd7Smrg #undef mipsel 106279d5fcd7Smrg #undef mips64 106379d5fcd7Smrg #undef mips64el 106479d5fcd7Smrg #if ${IS_GLIBC} && defined(_ABI64) 106579d5fcd7Smrg LIBCABI=gnuabi64 106679d5fcd7Smrg #else 106779d5fcd7Smrg #if ${IS_GLIBC} && defined(_ABIN32) 106879d5fcd7Smrg LIBCABI=gnuabin32 106979d5fcd7Smrg #else 107079d5fcd7Smrg LIBCABI=${LIBC} 107179d5fcd7Smrg #endif 107279d5fcd7Smrg #endif 107379d5fcd7Smrg 107479d5fcd7Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107579d5fcd7Smrg CPU=mipsisa64r6 107679d5fcd7Smrg #else 107779d5fcd7Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107879d5fcd7Smrg CPU=mipsisa32r6 107979d5fcd7Smrg #else 108079d5fcd7Smrg #if defined(__mips64) 108179d5fcd7Smrg CPU=mips64 108279d5fcd7Smrg #else 108379d5fcd7Smrg CPU=mips 108479d5fcd7Smrg #endif 108579d5fcd7Smrg #endif 108679d5fcd7Smrg #endif 108779d5fcd7Smrg 108804007ebaSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 108979d5fcd7Smrg MIPS_ENDIAN=el 109004007ebaSmrg #else 109104007ebaSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 109279d5fcd7Smrg MIPS_ENDIAN= 109304007ebaSmrg #else 109479d5fcd7Smrg MIPS_ENDIAN= 109504007ebaSmrg #endif 109604007ebaSmrg #endif 109704007ebaSmrgEOF 109879d5fcd7Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 109979d5fcd7Smrg eval "$cc_set_vars" 110079d5fcd7Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 110104007ebaSmrg ;; 110205cf1079Smrg mips64el:Linux:*:*) 110379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 110479d5fcd7Smrg ;; 11057f419768Smrg openrisc*:Linux:*:*) 110679d5fcd7Smrg GUESS=or1k-unknown-linux-$LIBC 110779d5fcd7Smrg ;; 11087f419768Smrg or32:Linux:*:* | or1k*:Linux:*:*) 110979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 111079d5fcd7Smrg ;; 111104007ebaSmrg padre:Linux:*:*) 111279d5fcd7Smrg GUESS=sparc-unknown-linux-$LIBC 111379d5fcd7Smrg ;; 111404007ebaSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 111579d5fcd7Smrg GUESS=hppa64-unknown-linux-$LIBC 111679d5fcd7Smrg ;; 111704007ebaSmrg parisc:Linux:*:* | hppa:Linux:*:*) 111804007ebaSmrg # Look for CPU level 111904007ebaSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 112079d5fcd7Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 112179d5fcd7Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 112279d5fcd7Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 112304007ebaSmrg esac 112479d5fcd7Smrg ;; 112504007ebaSmrg ppc64:Linux:*:*) 112679d5fcd7Smrg GUESS=powerpc64-unknown-linux-$LIBC 112779d5fcd7Smrg ;; 112804007ebaSmrg ppc:Linux:*:*) 112979d5fcd7Smrg GUESS=powerpc-unknown-linux-$LIBC 113079d5fcd7Smrg ;; 113104007ebaSmrg ppc64le:Linux:*:*) 113279d5fcd7Smrg GUESS=powerpc64le-unknown-linux-$LIBC 113379d5fcd7Smrg ;; 113404007ebaSmrg ppcle:Linux:*:*) 113579d5fcd7Smrg GUESS=powerpcle-unknown-linux-$LIBC 113679d5fcd7Smrg ;; 113779d5fcd7Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 113879d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113979d5fcd7Smrg ;; 114004007ebaSmrg s390:Linux:*:* | s390x:Linux:*:*) 114179d5fcd7Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 114279d5fcd7Smrg ;; 114304007ebaSmrg sh64*:Linux:*:*) 114479d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114579d5fcd7Smrg ;; 114604007ebaSmrg sh*:Linux:*:*) 114779d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114879d5fcd7Smrg ;; 114904007ebaSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 115079d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115179d5fcd7Smrg ;; 115204007ebaSmrg tile*:Linux:*:*) 115379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115479d5fcd7Smrg ;; 115504007ebaSmrg vax:Linux:*:*) 115679d5fcd7Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 115779d5fcd7Smrg ;; 115804007ebaSmrg x86_64:Linux:*:*) 115979d5fcd7Smrg set_cc_for_build 116079d5fcd7Smrg CPU=$UNAME_MACHINE 116179d5fcd7Smrg LIBCABI=$LIBC 116279d5fcd7Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 116379d5fcd7Smrg ABI=64 116479d5fcd7Smrg sed 's/^ //' << EOF > "$dummy.c" 116579d5fcd7Smrg #ifdef __i386__ 116679d5fcd7Smrg ABI=x86 116779d5fcd7Smrg #else 116879d5fcd7Smrg #ifdef __ILP32__ 116979d5fcd7Smrg ABI=x32 117079d5fcd7Smrg #endif 117179d5fcd7Smrg #endif 117279d5fcd7SmrgEOF 117379d5fcd7Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 117479d5fcd7Smrg eval "$cc_set_abi" 117579d5fcd7Smrg case $ABI in 117679d5fcd7Smrg x86) CPU=i686 ;; 117779d5fcd7Smrg x32) LIBCABI=${LIBC}x32 ;; 117879d5fcd7Smrg esac 117905cf1079Smrg fi 118079d5fcd7Smrg GUESS=$CPU-pc-linux-$LIBCABI 118179d5fcd7Smrg ;; 118204007ebaSmrg xtensa*:Linux:*:*) 118379d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118479d5fcd7Smrg ;; 118504007ebaSmrg i*86:DYNIX/ptx:4*:*) 118604007ebaSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 118704007ebaSmrg # earlier versions are messed up and put the nodename in both 118804007ebaSmrg # sysname and nodename. 118979d5fcd7Smrg GUESS=i386-sequent-sysv4 119079d5fcd7Smrg ;; 119104007ebaSmrg i*86:UNIX_SV:4.2MP:2.*) 119204007ebaSmrg # Unixware is an offshoot of SVR4, but it has its own version 119304007ebaSmrg # number series starting with 2... 119404007ebaSmrg # I am not positive that other SVR4 systems won't match this, 119504007ebaSmrg # I just have to hope. -- rms. 119604007ebaSmrg # Use sysv4.2uw... so that sysv4* matches it. 119779d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 119879d5fcd7Smrg ;; 119904007ebaSmrg i*86:OS/2:*:*) 120004007ebaSmrg # If we were able to find `uname', then EMX Unix compatibility 120104007ebaSmrg # is probably installed. 120279d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 120379d5fcd7Smrg ;; 120404007ebaSmrg i*86:XTS-300:*:STOP) 120579d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-stop 120679d5fcd7Smrg ;; 120704007ebaSmrg i*86:atheos:*:*) 120879d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-atheos 120979d5fcd7Smrg ;; 121004007ebaSmrg i*86:syllable:*:*) 121179d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-syllable 121279d5fcd7Smrg ;; 121304007ebaSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 121479d5fcd7Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 121579d5fcd7Smrg ;; 121604007ebaSmrg i*86:*DOS:*:*) 121779d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 121879d5fcd7Smrg ;; 121905cf1079Smrg i*86:*:4.*:*) 122005cf1079Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 122104007ebaSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 122279d5fcd7Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 122304007ebaSmrg else 122479d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 122504007ebaSmrg fi 122679d5fcd7Smrg ;; 122704007ebaSmrg i*86:*:5:[678]*) 122804007ebaSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 122904007ebaSmrg case `/bin/uname -X | grep "^Machine"` in 123004007ebaSmrg *486*) UNAME_MACHINE=i486 ;; 123104007ebaSmrg *Pentium) UNAME_MACHINE=i586 ;; 123204007ebaSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 123304007ebaSmrg esac 123479d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 123579d5fcd7Smrg ;; 123604007ebaSmrg i*86:*:3.2:*) 123704007ebaSmrg if test -f /usr/options/cb.name; then 123804007ebaSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 123979d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 124004007ebaSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 124104007ebaSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 124204007ebaSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 124304007ebaSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 124404007ebaSmrg && UNAME_MACHINE=i586 124504007ebaSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 124604007ebaSmrg && UNAME_MACHINE=i686 124704007ebaSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 124804007ebaSmrg && UNAME_MACHINE=i686 124979d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 125004007ebaSmrg else 125179d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-sysv32 125204007ebaSmrg fi 125379d5fcd7Smrg ;; 125404007ebaSmrg pc:*:*:*) 125504007ebaSmrg # Left here for compatibility: 125604007ebaSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 125704007ebaSmrg # the processor, so we play safe by assuming i586. 125804007ebaSmrg # Note: whatever this is, it MUST be the same as what config.sub 125905cf1079Smrg # prints for the "djgpp" host, or else GDB configure will decide that 126004007ebaSmrg # this is a cross-build. 126179d5fcd7Smrg GUESS=i586-pc-msdosdjgpp 126279d5fcd7Smrg ;; 126304007ebaSmrg Intel:Mach:3*:*) 126479d5fcd7Smrg GUESS=i386-pc-mach3 126579d5fcd7Smrg ;; 126604007ebaSmrg paragon:*:*:*) 126779d5fcd7Smrg GUESS=i860-intel-osf1 126879d5fcd7Smrg ;; 126904007ebaSmrg i860:*:4.*:*) # i860-SVR4 127004007ebaSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 127179d5fcd7Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 127204007ebaSmrg else # Add other i860-SVR4 vendors below as they are discovered. 127379d5fcd7Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 127404007ebaSmrg fi 127579d5fcd7Smrg ;; 127604007ebaSmrg mini*:CTIX:SYS*5:*) 127704007ebaSmrg # "miniframe" 127879d5fcd7Smrg GUESS=m68010-convergent-sysv 127979d5fcd7Smrg ;; 128004007ebaSmrg mc68k:UNIX:SYSTEM5:3.51m) 128179d5fcd7Smrg GUESS=m68k-convergent-sysv 128279d5fcd7Smrg ;; 128304007ebaSmrg M680?0:D-NIX:5.3:*) 128479d5fcd7Smrg GUESS=m68k-diab-dnix 128579d5fcd7Smrg ;; 128604007ebaSmrg M68*:*:R3V[5678]*:*) 128704007ebaSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 128804007ebaSmrg 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) 128904007ebaSmrg OS_REL='' 129004007ebaSmrg test -r /etc/.relid \ 129104007ebaSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 129204007ebaSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129305cf1079Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 129404007ebaSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 129505cf1079Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 129604007ebaSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 129704007ebaSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129804007ebaSmrg && { echo i486-ncr-sysv4; exit; } ;; 129904007ebaSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 130004007ebaSmrg OS_REL='.3' 130104007ebaSmrg test -r /etc/.relid \ 130204007ebaSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 130304007ebaSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 130405cf1079Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 130504007ebaSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 130605cf1079Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 130704007ebaSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 130805cf1079Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 130904007ebaSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 131079d5fcd7Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 131179d5fcd7Smrg ;; 131204007ebaSmrg mc68030:UNIX_System_V:4.*:*) 131379d5fcd7Smrg GUESS=m68k-atari-sysv4 131479d5fcd7Smrg ;; 131504007ebaSmrg TSUNAMI:LynxOS:2.*:*) 131679d5fcd7Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 131779d5fcd7Smrg ;; 131804007ebaSmrg rs6000:LynxOS:2.*:*) 131979d5fcd7Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 132079d5fcd7Smrg ;; 132104007ebaSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 132279d5fcd7Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 132379d5fcd7Smrg ;; 132404007ebaSmrg SM[BE]S:UNIX_SV:*:*) 132579d5fcd7Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 132679d5fcd7Smrg ;; 132704007ebaSmrg RM*:ReliantUNIX-*:*:*) 132879d5fcd7Smrg GUESS=mips-sni-sysv4 132979d5fcd7Smrg ;; 133004007ebaSmrg RM*:SINIX-*:*:*) 133179d5fcd7Smrg GUESS=mips-sni-sysv4 133279d5fcd7Smrg ;; 133304007ebaSmrg *:SINIX-*:*:*) 133404007ebaSmrg if uname -p 2>/dev/null >/dev/null ; then 133504007ebaSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 133679d5fcd7Smrg GUESS=$UNAME_MACHINE-sni-sysv4 133704007ebaSmrg else 133879d5fcd7Smrg GUESS=ns32k-sni-sysv 133904007ebaSmrg fi 134079d5fcd7Smrg ;; 134104007ebaSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 134204007ebaSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 134379d5fcd7Smrg GUESS=i586-unisys-sysv4 134479d5fcd7Smrg ;; 134504007ebaSmrg *:UNIX_System_V:4*:FTX*) 134604007ebaSmrg # From Gerald Hewes <hewes@openmarket.com>. 134704007ebaSmrg # How about differentiating between stratus architectures? -djm 134879d5fcd7Smrg GUESS=hppa1.1-stratus-sysv4 134979d5fcd7Smrg ;; 135004007ebaSmrg *:*:*:FTX*) 135104007ebaSmrg # From seanf@swdc.stratus.com. 135279d5fcd7Smrg GUESS=i860-stratus-sysv4 135379d5fcd7Smrg ;; 135404007ebaSmrg i*86:VOS:*:*) 135504007ebaSmrg # From Paul.Green@stratus.com. 135679d5fcd7Smrg GUESS=$UNAME_MACHINE-stratus-vos 135779d5fcd7Smrg ;; 135804007ebaSmrg *:VOS:*:*) 135904007ebaSmrg # From Paul.Green@stratus.com. 136079d5fcd7Smrg GUESS=hppa1.1-stratus-vos 136179d5fcd7Smrg ;; 136204007ebaSmrg mc68*:A/UX:*:*) 136379d5fcd7Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 136479d5fcd7Smrg ;; 136504007ebaSmrg news*:NEWS-OS:6*:*) 136679d5fcd7Smrg GUESS=mips-sony-newsos6 136779d5fcd7Smrg ;; 136804007ebaSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 136979d5fcd7Smrg if test -d /usr/nec; then 137079d5fcd7Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 137104007ebaSmrg else 137279d5fcd7Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 137304007ebaSmrg fi 137479d5fcd7Smrg ;; 137504007ebaSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 137679d5fcd7Smrg GUESS=powerpc-be-beos 137779d5fcd7Smrg ;; 137804007ebaSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 137979d5fcd7Smrg GUESS=powerpc-apple-beos 138079d5fcd7Smrg ;; 138104007ebaSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 138279d5fcd7Smrg GUESS=i586-pc-beos 138379d5fcd7Smrg ;; 138404007ebaSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 138579d5fcd7Smrg GUESS=i586-pc-haiku 138679d5fcd7Smrg ;; 138779d5fcd7Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 138879d5fcd7Smrg GUESS=powerpc-apple-haiku 138979d5fcd7Smrg ;; 139079d5fcd7Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 139179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-haiku 139279d5fcd7Smrg ;; 139304007ebaSmrg SX-4:SUPER-UX:*:*) 139479d5fcd7Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 139579d5fcd7Smrg ;; 139604007ebaSmrg SX-5:SUPER-UX:*:*) 139779d5fcd7Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 139879d5fcd7Smrg ;; 139904007ebaSmrg SX-6:SUPER-UX:*:*) 140079d5fcd7Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 140179d5fcd7Smrg ;; 140204007ebaSmrg SX-7:SUPER-UX:*:*) 140379d5fcd7Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 140479d5fcd7Smrg ;; 140504007ebaSmrg SX-8:SUPER-UX:*:*) 140679d5fcd7Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 140779d5fcd7Smrg ;; 140804007ebaSmrg SX-8R:SUPER-UX:*:*) 140979d5fcd7Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 141079d5fcd7Smrg ;; 141105cf1079Smrg SX-ACE:SUPER-UX:*:*) 141279d5fcd7Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 141379d5fcd7Smrg ;; 141404007ebaSmrg Power*:Rhapsody:*:*) 141579d5fcd7Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 141679d5fcd7Smrg ;; 141704007ebaSmrg *:Rhapsody:*:*) 141879d5fcd7Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 141979d5fcd7Smrg ;; 142079d5fcd7Smrg arm64:Darwin:*:*) 142179d5fcd7Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 142279d5fcd7Smrg ;; 142304007ebaSmrg *:Darwin:*:*) 142479d5fcd7Smrg UNAME_PROCESSOR=`uname -p` 142579d5fcd7Smrg case $UNAME_PROCESSOR in 142679d5fcd7Smrg unknown) UNAME_PROCESSOR=powerpc ;; 142779d5fcd7Smrg esac 142879d5fcd7Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 142979d5fcd7Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 143079d5fcd7Smrg # Avoid executing cc if there is no toolchain installed as 143179d5fcd7Smrg # cc will be a stub that puts up a graphical alert 143279d5fcd7Smrg # prompting the user to install developer tools. 143379d5fcd7Smrg CC_FOR_BUILD=no_compiler_found 143479d5fcd7Smrg else 143579d5fcd7Smrg set_cc_for_build 143604007ebaSmrg fi 143779d5fcd7Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 143879d5fcd7Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 143979d5fcd7Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 144079d5fcd7Smrg grep IS_64BIT_ARCH >/dev/null 144179d5fcd7Smrg then 144279d5fcd7Smrg case $UNAME_PROCESSOR in 144379d5fcd7Smrg i386) UNAME_PROCESSOR=x86_64 ;; 144479d5fcd7Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 144579d5fcd7Smrg esac 144679d5fcd7Smrg fi 144779d5fcd7Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 144879d5fcd7Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 144979d5fcd7Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 145079d5fcd7Smrg grep IS_PPC >/dev/null 145179d5fcd7Smrg then 145279d5fcd7Smrg UNAME_PROCESSOR=powerpc 145304007ebaSmrg fi 14547f419768Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 145579d5fcd7Smrg # uname -m returns i386 or x86_64 145679d5fcd7Smrg UNAME_PROCESSOR=$UNAME_MACHINE 145704007ebaSmrg fi 145879d5fcd7Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 145979d5fcd7Smrg ;; 146004007ebaSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 146104007ebaSmrg UNAME_PROCESSOR=`uname -p` 146205cf1079Smrg if test "$UNAME_PROCESSOR" = x86; then 146304007ebaSmrg UNAME_PROCESSOR=i386 146404007ebaSmrg UNAME_MACHINE=pc 146504007ebaSmrg fi 146679d5fcd7Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 146779d5fcd7Smrg ;; 146804007ebaSmrg *:QNX:*:4*) 146979d5fcd7Smrg GUESS=i386-pc-qnx 147079d5fcd7Smrg ;; 147105cf1079Smrg NEO-*:NONSTOP_KERNEL:*:*) 147279d5fcd7Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 147379d5fcd7Smrg ;; 147404007ebaSmrg NSE-*:NONSTOP_KERNEL:*:*) 147579d5fcd7Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 147679d5fcd7Smrg ;; 147705cf1079Smrg NSR-*:NONSTOP_KERNEL:*:*) 147879d5fcd7Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 147979d5fcd7Smrg ;; 148005cf1079Smrg NSV-*:NONSTOP_KERNEL:*:*) 148179d5fcd7Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 148279d5fcd7Smrg ;; 148305cf1079Smrg NSX-*:NONSTOP_KERNEL:*:*) 148479d5fcd7Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 148579d5fcd7Smrg ;; 148604007ebaSmrg *:NonStop-UX:*:*) 148779d5fcd7Smrg GUESS=mips-compaq-nonstopux 148879d5fcd7Smrg ;; 148904007ebaSmrg BS2000:POSIX*:*:*) 149079d5fcd7Smrg GUESS=bs2000-siemens-sysv 149179d5fcd7Smrg ;; 149204007ebaSmrg DS/*:UNIX_System_V:*:*) 149379d5fcd7Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 149479d5fcd7Smrg ;; 149504007ebaSmrg *:Plan9:*:*) 149604007ebaSmrg # "uname -m" is not consistent, so use $cputype instead. 386 149704007ebaSmrg # is converted to i386 for consistency with other x86 149804007ebaSmrg # operating systems. 149979d5fcd7Smrg if test "${cputype-}" = 386; then 150004007ebaSmrg UNAME_MACHINE=i386 150179d5fcd7Smrg elif test "x${cputype-}" != x; then 150279d5fcd7Smrg UNAME_MACHINE=$cputype 150304007ebaSmrg fi 150479d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-plan9 150579d5fcd7Smrg ;; 150604007ebaSmrg *:TOPS-10:*:*) 150779d5fcd7Smrg GUESS=pdp10-unknown-tops10 150879d5fcd7Smrg ;; 150904007ebaSmrg *:TENEX:*:*) 151079d5fcd7Smrg GUESS=pdp10-unknown-tenex 151179d5fcd7Smrg ;; 151204007ebaSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 151379d5fcd7Smrg GUESS=pdp10-dec-tops20 151479d5fcd7Smrg ;; 151504007ebaSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 151679d5fcd7Smrg GUESS=pdp10-xkl-tops20 151779d5fcd7Smrg ;; 151804007ebaSmrg *:TOPS-20:*:*) 151979d5fcd7Smrg GUESS=pdp10-unknown-tops20 152079d5fcd7Smrg ;; 152104007ebaSmrg *:ITS:*:*) 152279d5fcd7Smrg GUESS=pdp10-unknown-its 152379d5fcd7Smrg ;; 152404007ebaSmrg SEI:*:*:SEIUX) 152579d5fcd7Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 152679d5fcd7Smrg ;; 152704007ebaSmrg *:DragonFly:*:*) 152879d5fcd7Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 152979d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 153079d5fcd7Smrg ;; 153104007ebaSmrg *:*VMS:*:*) 153204007ebaSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 153379d5fcd7Smrg case $UNAME_MACHINE in 153479d5fcd7Smrg A*) GUESS=alpha-dec-vms ;; 153579d5fcd7Smrg I*) GUESS=ia64-dec-vms ;; 153679d5fcd7Smrg V*) GUESS=vax-dec-vms ;; 153704007ebaSmrg esac ;; 153804007ebaSmrg *:XENIX:*:SysV) 153979d5fcd7Smrg GUESS=i386-pc-xenix 154079d5fcd7Smrg ;; 154104007ebaSmrg i*86:skyos:*:*) 154279d5fcd7Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 154379d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 154479d5fcd7Smrg ;; 154504007ebaSmrg i*86:rdos:*:*) 154679d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-rdos 154779d5fcd7Smrg ;; 154879d5fcd7Smrg i*86:Fiwix:*:*) 154979d5fcd7Smrg GUESS=$UNAME_MACHINE-pc-fiwix 155079d5fcd7Smrg ;; 155179d5fcd7Smrg *:AROS:*:*) 155279d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-aros 155379d5fcd7Smrg ;; 155404007ebaSmrg x86_64:VMkernel:*:*) 155579d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-esx 155679d5fcd7Smrg ;; 155705cf1079Smrg amd64:Isilon\ OneFS:*:*) 155879d5fcd7Smrg GUESS=x86_64-unknown-onefs 155979d5fcd7Smrg ;; 156079d5fcd7Smrg *:Unleashed:*:*) 156179d5fcd7Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 156279d5fcd7Smrg ;; 156304007ebaSmrgesac 156404007ebaSmrg 156579d5fcd7Smrg# Do we have a guess based on uname results? 156679d5fcd7Smrgif test "x$GUESS" != x; then 156779d5fcd7Smrg echo "$GUESS" 156879d5fcd7Smrg exit 156979d5fcd7Smrgfi 157079d5fcd7Smrg 157179d5fcd7Smrg# No uname command or uname output not recognized. 157279d5fcd7Smrgset_cc_for_build 157379d5fcd7Smrgcat > "$dummy.c" <<EOF 157479d5fcd7Smrg#ifdef _SEQUENT_ 157579d5fcd7Smrg#include <sys/types.h> 157679d5fcd7Smrg#include <sys/utsname.h> 157779d5fcd7Smrg#endif 157879d5fcd7Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 157979d5fcd7Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 158079d5fcd7Smrg#include <signal.h> 158179d5fcd7Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 158279d5fcd7Smrg#include <sys/utsname.h> 158379d5fcd7Smrg#endif 158479d5fcd7Smrg#endif 158579d5fcd7Smrg#endif 158679d5fcd7Smrgmain () 158779d5fcd7Smrg{ 158879d5fcd7Smrg#if defined (sony) 158979d5fcd7Smrg#if defined (MIPSEB) 159079d5fcd7Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 159179d5fcd7Smrg I don't know.... */ 159279d5fcd7Smrg printf ("mips-sony-bsd\n"); exit (0); 159379d5fcd7Smrg#else 159479d5fcd7Smrg#include <sys/param.h> 159579d5fcd7Smrg printf ("m68k-sony-newsos%s\n", 159679d5fcd7Smrg#ifdef NEWSOS4 159779d5fcd7Smrg "4" 159879d5fcd7Smrg#else 159979d5fcd7Smrg "" 160079d5fcd7Smrg#endif 160179d5fcd7Smrg ); exit (0); 160279d5fcd7Smrg#endif 160379d5fcd7Smrg#endif 160479d5fcd7Smrg 160579d5fcd7Smrg#if defined (NeXT) 160679d5fcd7Smrg#if !defined (__ARCHITECTURE__) 160779d5fcd7Smrg#define __ARCHITECTURE__ "m68k" 160879d5fcd7Smrg#endif 160979d5fcd7Smrg int version; 161079d5fcd7Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 161179d5fcd7Smrg if (version < 4) 161279d5fcd7Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 161379d5fcd7Smrg else 161479d5fcd7Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 161579d5fcd7Smrg exit (0); 161679d5fcd7Smrg#endif 161779d5fcd7Smrg 161879d5fcd7Smrg#if defined (MULTIMAX) || defined (n16) 161979d5fcd7Smrg#if defined (UMAXV) 162079d5fcd7Smrg printf ("ns32k-encore-sysv\n"); exit (0); 162179d5fcd7Smrg#else 162279d5fcd7Smrg#if defined (CMU) 162379d5fcd7Smrg printf ("ns32k-encore-mach\n"); exit (0); 162479d5fcd7Smrg#else 162579d5fcd7Smrg printf ("ns32k-encore-bsd\n"); exit (0); 162679d5fcd7Smrg#endif 162779d5fcd7Smrg#endif 162879d5fcd7Smrg#endif 162979d5fcd7Smrg 163079d5fcd7Smrg#if defined (__386BSD__) 163179d5fcd7Smrg printf ("i386-pc-bsd\n"); exit (0); 163279d5fcd7Smrg#endif 163379d5fcd7Smrg 163479d5fcd7Smrg#if defined (sequent) 163579d5fcd7Smrg#if defined (i386) 163679d5fcd7Smrg printf ("i386-sequent-dynix\n"); exit (0); 163779d5fcd7Smrg#endif 163879d5fcd7Smrg#if defined (ns32000) 163979d5fcd7Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 164079d5fcd7Smrg#endif 164179d5fcd7Smrg#endif 164279d5fcd7Smrg 164379d5fcd7Smrg#if defined (_SEQUENT_) 164479d5fcd7Smrg struct utsname un; 164579d5fcd7Smrg 164679d5fcd7Smrg uname(&un); 164779d5fcd7Smrg if (strncmp(un.version, "V2", 2) == 0) { 164879d5fcd7Smrg printf ("i386-sequent-ptx2\n"); exit (0); 164979d5fcd7Smrg } 165079d5fcd7Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 165179d5fcd7Smrg printf ("i386-sequent-ptx1\n"); exit (0); 165279d5fcd7Smrg } 165379d5fcd7Smrg printf ("i386-sequent-ptx\n"); exit (0); 165479d5fcd7Smrg#endif 165579d5fcd7Smrg 165679d5fcd7Smrg#if defined (vax) 165779d5fcd7Smrg#if !defined (ultrix) 165879d5fcd7Smrg#include <sys/param.h> 165979d5fcd7Smrg#if defined (BSD) 166079d5fcd7Smrg#if BSD == 43 166179d5fcd7Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 166279d5fcd7Smrg#else 166379d5fcd7Smrg#if BSD == 199006 166479d5fcd7Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 166579d5fcd7Smrg#else 166679d5fcd7Smrg printf ("vax-dec-bsd\n"); exit (0); 166779d5fcd7Smrg#endif 166879d5fcd7Smrg#endif 166979d5fcd7Smrg#else 167079d5fcd7Smrg printf ("vax-dec-bsd\n"); exit (0); 167179d5fcd7Smrg#endif 167279d5fcd7Smrg#else 167379d5fcd7Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 167479d5fcd7Smrg struct utsname un; 167579d5fcd7Smrg uname (&un); 167679d5fcd7Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 167779d5fcd7Smrg#else 167879d5fcd7Smrg printf ("vax-dec-ultrix\n"); exit (0); 167979d5fcd7Smrg#endif 168079d5fcd7Smrg#endif 168179d5fcd7Smrg#endif 168279d5fcd7Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 168379d5fcd7Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 168479d5fcd7Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 168579d5fcd7Smrg struct utsname *un; 168679d5fcd7Smrg uname (&un); 168779d5fcd7Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 168879d5fcd7Smrg#else 168979d5fcd7Smrg printf ("mips-dec-ultrix\n"); exit (0); 169079d5fcd7Smrg#endif 169179d5fcd7Smrg#endif 169279d5fcd7Smrg#endif 169379d5fcd7Smrg 169479d5fcd7Smrg#if defined (alliant) && defined (i860) 169579d5fcd7Smrg printf ("i860-alliant-bsd\n"); exit (0); 169679d5fcd7Smrg#endif 169779d5fcd7Smrg 169879d5fcd7Smrg exit (1); 169979d5fcd7Smrg} 170079d5fcd7SmrgEOF 170179d5fcd7Smrg 170279d5fcd7Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 170379d5fcd7Smrg { echo "$SYSTEM_NAME"; exit; } 170479d5fcd7Smrg 170579d5fcd7Smrg# Apollos put the system type in the environment. 170679d5fcd7Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 170779d5fcd7Smrg 170805cf1079Smrgecho "$0: unable to guess system type" >&2 170905cf1079Smrg 171079d5fcd7Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 171105cf1079Smrg mips:Linux | mips64:Linux) 171205cf1079Smrg # If we got here on MIPS GNU/Linux, output extra information. 171305cf1079Smrg cat >&2 <<EOF 171405cf1079Smrg 171505cf1079SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 171605cf1079Smrgthe system type. Please install a C compiler and try again. 171705cf1079SmrgEOF 171805cf1079Smrg ;; 171905cf1079Smrgesac 172005cf1079Smrg 172104007ebaSmrgcat >&2 <<EOF 172204007ebaSmrg 172305cf1079SmrgThis script (version $timestamp), has failed to recognize the 172405cf1079Smrgoperating system you are using. If your script is old, overwrite *all* 172505cf1079Smrgcopies of config.guess and config.sub with the latest versions from: 172604007ebaSmrg 172779d5fcd7Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 172804007ebaSmrgand 172979d5fcd7Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 173079d5fcd7SmrgEOF 173179d5fcd7Smrg 173279d5fcd7Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 173379d5fcd7Smrgthisyear=`date +%Y` 173479d5fcd7Smrg# shellcheck disable=SC2003 173579d5fcd7Smrgscript_age=`expr "$thisyear" - "$our_year"` 173679d5fcd7Smrgif test "$script_age" -lt 3 ; then 173779d5fcd7Smrg cat >&2 <<EOF 173804007ebaSmrg 173905cf1079SmrgIf $0 has already been updated, send the following data and any 174005cf1079Smrginformation you think might be pertinent to config-patches@gnu.org to 174105cf1079Smrgprovide the necessary information to handle your system. 174204007ebaSmrg 174304007ebaSmrgconfig.guess timestamp = $timestamp 174404007ebaSmrg 174504007ebaSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 174604007ebaSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 174704007ebaSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 174804007ebaSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 174904007ebaSmrg 175004007ebaSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 175104007ebaSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 175204007ebaSmrg 175304007ebaSmrghostinfo = `(hostinfo) 2>/dev/null` 175404007ebaSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 175504007ebaSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 175604007ebaSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 175704007ebaSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 175804007ebaSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 175904007ebaSmrg 176005cf1079SmrgUNAME_MACHINE = "$UNAME_MACHINE" 176105cf1079SmrgUNAME_RELEASE = "$UNAME_RELEASE" 176205cf1079SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 176305cf1079SmrgUNAME_VERSION = "$UNAME_VERSION" 176404007ebaSmrgEOF 176579d5fcd7Smrgfi 176604007ebaSmrg 176704007ebaSmrgexit 1 176804007ebaSmrg 176904007ebaSmrg# Local variables: 177079d5fcd7Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 177104007ebaSmrg# time-stamp-start: "timestamp='" 177204007ebaSmrg# time-stamp-format: "%:y-%02m-%02d" 177304007ebaSmrg# time-stamp-end: "'" 177404007ebaSmrg# End: 1775