15b28e182Smrg#! /bin/sh 25b28e182Smrg# Attempt to guess a canonical system name. 315adf0bfSmrg# Copyright 1992-2023 Free Software Foundation, Inc. 45b28e182Smrg 515adf0bfSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 615adf0bfSmrg 715adf0bfSmrgtimestamp='2023-01-01' 85b28e182Smrg 95b28e182Smrg# This file is free software; you can redistribute it and/or modify it 105b28e182Smrg# under the terms of the GNU General Public License as published by 1115adf0bfSmrg# the Free Software Foundation, either version 3 of the License, or 125b28e182Smrg# (at your option) any later version. 135b28e182Smrg# 145b28e182Smrg# This program is distributed in the hope that it will be useful, but 155b28e182Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 165b28e182Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 175b28e182Smrg# General Public License for more details. 185b28e182Smrg# 195b28e182Smrg# You should have received a copy of the GNU General Public License 2015adf0bfSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 215b28e182Smrg# 225b28e182Smrg# As a special exception to the GNU General Public License, if you 235b28e182Smrg# distribute this file as part of a program that contains a 245b28e182Smrg# configuration script generated by Autoconf, you may include it under 2515adf0bfSmrg# the same distribution terms that you use for the rest of that 2615adf0bfSmrg# program. This Exception is an additional permission under section 7 2715adf0bfSmrg# of the GNU General Public License, version 3 ("GPLv3"). 285b28e182Smrg# 2915adf0bfSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 305b28e182Smrg# 31f1e20f77Smrg# You can get the latest version of this script from: 3215adf0bfSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 3315adf0bfSmrg# 3415adf0bfSmrg# Please send patches to <config-patches@gnu.org>. 3515adf0bfSmrg 3615adf0bfSmrg 3715adf0bfSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 3815adf0bfSmrg# about features and limitations of the classic Bourne shell that were 3915adf0bfSmrg# superseded or lifted in POSIX. However, this script identifies a wide 4015adf0bfSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 4115adf0bfSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 4215adf0bfSmrg# have a pre-POSIX /bin/sh. 4315adf0bfSmrg 445b28e182Smrg 455b28e182Smrgme=`echo "$0" | sed -e 's,.*/,,'` 465b28e182Smrg 475b28e182Smrgusage="\ 485b28e182SmrgUsage: $0 [OPTION] 495b28e182Smrg 505b28e182SmrgOutput the configuration name of the system \`$me' is run on. 515b28e182Smrg 5215adf0bfSmrgOptions: 535b28e182Smrg -h, --help print this help, then exit 545b28e182Smrg -t, --time-stamp print date of last modification, then exit 555b28e182Smrg -v, --version print version number, then exit 565b28e182Smrg 575b28e182SmrgReport bugs and patches to <config-patches@gnu.org>." 585b28e182Smrg 595b28e182Smrgversion="\ 605b28e182SmrgGNU config.guess ($timestamp) 615b28e182Smrg 625b28e182SmrgOriginally written by Per Bothner. 6315adf0bfSmrgCopyright 1992-2023 Free Software Foundation, Inc. 645b28e182Smrg 655b28e182SmrgThis is free software; see the source for copying conditions. There is NO 665b28e182Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 675b28e182Smrg 685b28e182Smrghelp=" 695b28e182SmrgTry \`$me --help' for more information." 705b28e182Smrg 715b28e182Smrg# Parse command line 725b28e182Smrgwhile test $# -gt 0 ; do 735b28e182Smrg case $1 in 745b28e182Smrg --time-stamp | --time* | -t ) 755b28e182Smrg echo "$timestamp" ; exit ;; 765b28e182Smrg --version | -v ) 775b28e182Smrg echo "$version" ; exit ;; 785b28e182Smrg --help | --h* | -h ) 795b28e182Smrg echo "$usage"; exit ;; 805b28e182Smrg -- ) # Stop option processing 815b28e182Smrg shift; break ;; 825b28e182Smrg - ) # Use stdin as input. 835b28e182Smrg break ;; 845b28e182Smrg -* ) 855b28e182Smrg echo "$me: invalid option $1$help" >&2 865b28e182Smrg exit 1 ;; 875b28e182Smrg * ) 885b28e182Smrg break ;; 895b28e182Smrg esac 905b28e182Smrgdone 915b28e182Smrg 925b28e182Smrgif test $# != 0; then 935b28e182Smrg echo "$me: too many arguments$help" >&2 945b28e182Smrg exit 1 955b28e182Smrgfi 965b28e182Smrg 9715adf0bfSmrg# Just in case it came from the environment. 9815adf0bfSmrgGUESS= 995b28e182Smrg 1005b28e182Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 1015b28e182Smrg# compiler to aid in system detection is discouraged as it requires 1025b28e182Smrg# temporary files to be created and, as you can see below, it is a 1035b28e182Smrg# headache to deal with in a portable fashion. 1045b28e182Smrg 1055b28e182Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1065b28e182Smrg# use `HOST_CC' if defined, but it is deprecated. 1075b28e182Smrg 1085b28e182Smrg# Portable tmp directory creation inspired by the Autoconf team. 1095b28e182Smrg 11015adf0bfSmrgtmp= 11115adf0bfSmrg# shellcheck disable=SC2172 11215adf0bfSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11315adf0bfSmrg 11415adf0bfSmrgset_cc_for_build() { 11515adf0bfSmrg # prevent multiple calls if $tmp is already set 11615adf0bfSmrg test "$tmp" && return 0 11715adf0bfSmrg : "${TMPDIR=/tmp}" 11815adf0bfSmrg # shellcheck disable=SC2039,SC3028 11915adf0bfSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12015adf0bfSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12115adf0bfSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12215adf0bfSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12315adf0bfSmrg dummy=$tmp/dummy 12415adf0bfSmrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12515adf0bfSmrg ,,) echo "int x;" > "$dummy.c" 12615adf0bfSmrg for driver in cc gcc c89 c99 ; do 12715adf0bfSmrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 12815adf0bfSmrg CC_FOR_BUILD=$driver 12915adf0bfSmrg break 13015adf0bfSmrg fi 13115adf0bfSmrg done 13215adf0bfSmrg if test x"$CC_FOR_BUILD" = x ; then 13315adf0bfSmrg CC_FOR_BUILD=no_compiler_found 13415adf0bfSmrg fi 13515adf0bfSmrg ;; 13615adf0bfSmrg ,,*) CC_FOR_BUILD=$CC ;; 13715adf0bfSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13815adf0bfSmrg esac 13915adf0bfSmrg} 1405b28e182Smrg 1415b28e182Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1425b28e182Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 14315adf0bfSmrgif test -f /.attbin/uname ; then 1445b28e182Smrg PATH=$PATH:/.attbin ; export PATH 1455b28e182Smrgfi 1465b28e182Smrg 1475b28e182SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1485b28e182SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 14915adf0bfSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1505b28e182SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1515b28e182Smrg 15215adf0bfSmrgcase $UNAME_SYSTEM in 15315adf0bfSmrgLinux|GNU|GNU/*) 15415adf0bfSmrg LIBC=unknown 15515adf0bfSmrg 15615adf0bfSmrg set_cc_for_build 15715adf0bfSmrg cat <<-EOF > "$dummy.c" 158f1e20f77Smrg #include <features.h> 15915adf0bfSmrg #if defined(__UCLIBC__) 160f1e20f77Smrg LIBC=uclibc 16115adf0bfSmrg #elif defined(__dietlibc__) 162f1e20f77Smrg LIBC=dietlibc 16315adf0bfSmrg #elif defined(__GLIBC__) 164f1e20f77Smrg LIBC=gnu 16515adf0bfSmrg #else 16615adf0bfSmrg #include <stdarg.h> 16715adf0bfSmrg /* First heuristic to detect musl libc. */ 16815adf0bfSmrg #ifdef __DEFINED_va_list 16915adf0bfSmrg LIBC=musl 17015adf0bfSmrg #endif 171f1e20f77Smrg #endif 172f1e20f77Smrg EOF 17315adf0bfSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 17415adf0bfSmrg eval "$cc_set_libc" 17515adf0bfSmrg 17615adf0bfSmrg # Second heuristic to detect musl libc. 17715adf0bfSmrg if [ "$LIBC" = unknown ] && 17815adf0bfSmrg command -v ldd >/dev/null && 17915adf0bfSmrg ldd --version 2>&1 | grep -q ^musl; then 18015adf0bfSmrg LIBC=musl 18115adf0bfSmrg fi 18215adf0bfSmrg 18315adf0bfSmrg # If the system lacks a compiler, then just pick glibc. 18415adf0bfSmrg # We could probably try harder. 18515adf0bfSmrg if [ "$LIBC" = unknown ]; then 18615adf0bfSmrg LIBC=gnu 18715adf0bfSmrg fi 188f1e20f77Smrg ;; 189f1e20f77Smrgesac 190f1e20f77Smrg 1915b28e182Smrg# Note: order is significant - the case branches are not exclusive. 1925b28e182Smrg 19315adf0bfSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 1945b28e182Smrg *:NetBSD:*:*) 1955b28e182Smrg # NetBSD (nbsd) targets should (where applicable) match one or 19615adf0bfSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 1975b28e182Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1985b28e182Smrg # switched to ELF, *-*-netbsd* would select the old 1995b28e182Smrg # object file format. This provides both forward 2005b28e182Smrg # compatibility and a consistent mechanism for selecting the 2015b28e182Smrg # object file format. 2025b28e182Smrg # 2035b28e182Smrg # Note: NetBSD doesn't particularly care about the vendor 2045b28e182Smrg # portion of the name. We always set it to "unknown". 20515adf0bfSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 20615adf0bfSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20715adf0bfSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20815adf0bfSmrg echo unknown)` 20915adf0bfSmrg case $UNAME_MACHINE_ARCH in 21015adf0bfSmrg aarch64eb) machine=aarch64_be-unknown ;; 2115b28e182Smrg armeb) machine=armeb-unknown ;; 2125b28e182Smrg arm*) machine=arm-unknown ;; 2135b28e182Smrg sh3el) machine=shl-unknown ;; 2145b28e182Smrg sh3eb) machine=sh-unknown ;; 2155b28e182Smrg sh5el) machine=sh5le-unknown ;; 21615adf0bfSmrg earmv*) 21715adf0bfSmrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 21815adf0bfSmrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 21915adf0bfSmrg machine=${arch}${endian}-unknown 22015adf0bfSmrg ;; 22115adf0bfSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 2225b28e182Smrg esac 2235b28e182Smrg # The Operating System including object format, if it has switched 22415adf0bfSmrg # to ELF recently (or will in the future) and ABI. 22515adf0bfSmrg case $UNAME_MACHINE_ARCH in 22615adf0bfSmrg earm*) 22715adf0bfSmrg os=netbsdelf 22815adf0bfSmrg ;; 2295b28e182Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23015adf0bfSmrg set_cc_for_build 2315b28e182Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 232f1e20f77Smrg | grep -q __ELF__ 2335b28e182Smrg then 2345b28e182Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 2355b28e182Smrg # Return netbsd for either. FIX? 2365b28e182Smrg os=netbsd 2375b28e182Smrg else 2385b28e182Smrg os=netbsdelf 2395b28e182Smrg fi 2405b28e182Smrg ;; 2415b28e182Smrg *) 24215adf0bfSmrg os=netbsd 24315adf0bfSmrg ;; 24415adf0bfSmrg esac 24515adf0bfSmrg # Determine ABI tags. 24615adf0bfSmrg case $UNAME_MACHINE_ARCH in 24715adf0bfSmrg earm*) 24815adf0bfSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 24915adf0bfSmrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2505b28e182Smrg ;; 2515b28e182Smrg esac 2525b28e182Smrg # The OS release 2535b28e182Smrg # Debian GNU/NetBSD machines have a different userland, and 2545b28e182Smrg # thus, need a distinct triplet. However, they do not need 2555b28e182Smrg # kernel version information, so it can be replaced with a 2565b28e182Smrg # suitable tag, in the style of linux-gnu. 25715adf0bfSmrg case $UNAME_VERSION in 2585b28e182Smrg Debian*) 2595b28e182Smrg release='-gnu' 2605b28e182Smrg ;; 2615b28e182Smrg *) 26215adf0bfSmrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 2635b28e182Smrg ;; 2645b28e182Smrg esac 2655b28e182Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2665b28e182Smrg # contains redundant information, the shorter form: 2675b28e182Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 26815adf0bfSmrg GUESS=$machine-${os}${release}${abi-} 26915adf0bfSmrg ;; 27015adf0bfSmrg *:Bitrig:*:*) 27115adf0bfSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 27215adf0bfSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 27315adf0bfSmrg ;; 2745b28e182Smrg *:OpenBSD:*:*) 2755b28e182Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 27615adf0bfSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 27715adf0bfSmrg ;; 27815adf0bfSmrg *:SecBSD:*:*) 27915adf0bfSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 28015adf0bfSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 28115adf0bfSmrg ;; 28215adf0bfSmrg *:LibertyBSD:*:*) 28315adf0bfSmrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 28415adf0bfSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 28515adf0bfSmrg ;; 28615adf0bfSmrg *:MidnightBSD:*:*) 28715adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 28815adf0bfSmrg ;; 2895b28e182Smrg *:ekkoBSD:*:*) 29015adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 29115adf0bfSmrg ;; 2925b28e182Smrg *:SolidBSD:*:*) 29315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 29415adf0bfSmrg ;; 29515adf0bfSmrg *:OS108:*:*) 29615adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 29715adf0bfSmrg ;; 2985b28e182Smrg macppc:MirBSD:*:*) 29915adf0bfSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 30015adf0bfSmrg ;; 3015b28e182Smrg *:MirBSD:*:*) 30215adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 30315adf0bfSmrg ;; 30415adf0bfSmrg *:Sortix:*:*) 30515adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-sortix 30615adf0bfSmrg ;; 30715adf0bfSmrg *:Twizzler:*:*) 30815adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 30915adf0bfSmrg ;; 31015adf0bfSmrg *:Redox:*:*) 31115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-redox 31215adf0bfSmrg ;; 31315adf0bfSmrg mips:OSF1:*.*) 31415adf0bfSmrg GUESS=mips-dec-osf1 31515adf0bfSmrg ;; 3165b28e182Smrg alpha:OSF1:*:*) 31715adf0bfSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 31815adf0bfSmrg trap '' 0 3195b28e182Smrg case $UNAME_RELEASE in 3205b28e182Smrg *4.0) 3215b28e182Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 3225b28e182Smrg ;; 3235b28e182Smrg *5.*) 32415adf0bfSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 3255b28e182Smrg ;; 3265b28e182Smrg esac 3275b28e182Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 3285b28e182Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 3295b28e182Smrg # covers most systems running today. This code pipes the CPU 3305b28e182Smrg # types through head -n 1, so we only detect the type of CPU 0. 3315b28e182Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 33215adf0bfSmrg case $ALPHA_CPU_TYPE in 3335b28e182Smrg "EV4 (21064)") 33415adf0bfSmrg UNAME_MACHINE=alpha ;; 3355b28e182Smrg "EV4.5 (21064)") 33615adf0bfSmrg UNAME_MACHINE=alpha ;; 3375b28e182Smrg "LCA4 (21066/21068)") 33815adf0bfSmrg UNAME_MACHINE=alpha ;; 3395b28e182Smrg "EV5 (21164)") 34015adf0bfSmrg UNAME_MACHINE=alphaev5 ;; 3415b28e182Smrg "EV5.6 (21164A)") 34215adf0bfSmrg UNAME_MACHINE=alphaev56 ;; 3435b28e182Smrg "EV5.6 (21164PC)") 34415adf0bfSmrg UNAME_MACHINE=alphapca56 ;; 3455b28e182Smrg "EV5.7 (21164PC)") 34615adf0bfSmrg UNAME_MACHINE=alphapca57 ;; 3475b28e182Smrg "EV6 (21264)") 34815adf0bfSmrg UNAME_MACHINE=alphaev6 ;; 3495b28e182Smrg "EV6.7 (21264A)") 35015adf0bfSmrg UNAME_MACHINE=alphaev67 ;; 3515b28e182Smrg "EV6.8CB (21264C)") 35215adf0bfSmrg UNAME_MACHINE=alphaev68 ;; 3535b28e182Smrg "EV6.8AL (21264B)") 35415adf0bfSmrg UNAME_MACHINE=alphaev68 ;; 3555b28e182Smrg "EV6.8CX (21264D)") 35615adf0bfSmrg UNAME_MACHINE=alphaev68 ;; 3575b28e182Smrg "EV6.9A (21264/EV69A)") 35815adf0bfSmrg UNAME_MACHINE=alphaev69 ;; 3595b28e182Smrg "EV7 (21364)") 36015adf0bfSmrg UNAME_MACHINE=alphaev7 ;; 3615b28e182Smrg "EV7.9 (21364A)") 36215adf0bfSmrg UNAME_MACHINE=alphaev79 ;; 3635b28e182Smrg esac 3645b28e182Smrg # A Pn.n version is a patched version. 3655b28e182Smrg # A Vn.n version is a released version. 3665b28e182Smrg # A Tn.n version is a released field test version. 3675b28e182Smrg # A Xn.n version is an unreleased experimental baselevel. 3685b28e182Smrg # 1.2 uses "1.2" for uname -r. 36915adf0bfSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 37015adf0bfSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 37115adf0bfSmrg ;; 3725b28e182Smrg Amiga*:UNIX_System_V:4.0:*) 37315adf0bfSmrg GUESS=m68k-unknown-sysv4 37415adf0bfSmrg ;; 3755b28e182Smrg *:[Aa]miga[Oo][Ss]:*:*) 37615adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 37715adf0bfSmrg ;; 3785b28e182Smrg *:[Mm]orph[Oo][Ss]:*:*) 37915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-morphos 38015adf0bfSmrg ;; 3815b28e182Smrg *:OS/390:*:*) 38215adf0bfSmrg GUESS=i370-ibm-openedition 38315adf0bfSmrg ;; 3845b28e182Smrg *:z/VM:*:*) 38515adf0bfSmrg GUESS=s390-ibm-zvmoe 38615adf0bfSmrg ;; 3875b28e182Smrg *:OS400:*:*) 38815adf0bfSmrg GUESS=powerpc-ibm-os400 38915adf0bfSmrg ;; 3905b28e182Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 39115adf0bfSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 39215adf0bfSmrg ;; 39315adf0bfSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 39415adf0bfSmrg GUESS=arm-unknown-riscos 39515adf0bfSmrg ;; 3965b28e182Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 39715adf0bfSmrg GUESS=hppa1.1-hitachi-hiuxmpp 39815adf0bfSmrg ;; 3995b28e182Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 4005b28e182Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 40115adf0bfSmrg case `(/bin/universe) 2>/dev/null` in 40215adf0bfSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 40315adf0bfSmrg *) GUESS=pyramid-pyramid-bsd ;; 40415adf0bfSmrg esac 40515adf0bfSmrg ;; 4065b28e182Smrg NILE*:*:*:dcosx) 40715adf0bfSmrg GUESS=pyramid-pyramid-svr4 40815adf0bfSmrg ;; 4095b28e182Smrg DRS?6000:unix:4.0:6*) 41015adf0bfSmrg GUESS=sparc-icl-nx6 41115adf0bfSmrg ;; 4125b28e182Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 4135b28e182Smrg case `/usr/bin/uname -p` in 41415adf0bfSmrg sparc) GUESS=sparc-icl-nx7 ;; 41515adf0bfSmrg esac 41615adf0bfSmrg ;; 4175b28e182Smrg s390x:SunOS:*:*) 41815adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 41915adf0bfSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 42015adf0bfSmrg ;; 4215b28e182Smrg sun4H:SunOS:5.*:*) 42215adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42315adf0bfSmrg GUESS=sparc-hal-solaris2$SUN_REL 42415adf0bfSmrg ;; 4255b28e182Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 42615adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42715adf0bfSmrg GUESS=sparc-sun-solaris2$SUN_REL 42815adf0bfSmrg ;; 429f1e20f77Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 43015adf0bfSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 43115adf0bfSmrg ;; 4325b28e182Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43315adf0bfSmrg set_cc_for_build 43415adf0bfSmrg SUN_ARCH=i386 4355b28e182Smrg # If there is a compiler, see if it is configured for 64-bit objects. 4365b28e182Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 4375b28e182Smrg # This test works for both compilers. 43815adf0bfSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 4395b28e182Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 44015adf0bfSmrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 4415b28e182Smrg grep IS_64BIT_ARCH >/dev/null 4425b28e182Smrg then 44315adf0bfSmrg SUN_ARCH=x86_64 4445b28e182Smrg fi 4455b28e182Smrg fi 44615adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 44715adf0bfSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 44815adf0bfSmrg ;; 4495b28e182Smrg sun4*:SunOS:6*:*) 4505b28e182Smrg # According to config.sub, this is the proper way to canonicalize 4515b28e182Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 4525b28e182Smrg # it's likely to be more like Solaris than SunOS4. 45315adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 45415adf0bfSmrg GUESS=sparc-sun-solaris3$SUN_REL 45515adf0bfSmrg ;; 4565b28e182Smrg sun4*:SunOS:*:*) 45715adf0bfSmrg case `/usr/bin/arch -k` in 4585b28e182Smrg Series*|S4*) 4595b28e182Smrg UNAME_RELEASE=`uname -v` 4605b28e182Smrg ;; 4615b28e182Smrg esac 4625b28e182Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 46315adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 46415adf0bfSmrg GUESS=sparc-sun-sunos$SUN_REL 46515adf0bfSmrg ;; 4665b28e182Smrg sun3*:SunOS:*:*) 46715adf0bfSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 46815adf0bfSmrg ;; 4695b28e182Smrg sun*:*:4.2BSD:*) 4705b28e182Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47115adf0bfSmrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 47215adf0bfSmrg case `/bin/arch` in 4735b28e182Smrg sun3) 47415adf0bfSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 4755b28e182Smrg ;; 4765b28e182Smrg sun4) 47715adf0bfSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 4785b28e182Smrg ;; 4795b28e182Smrg esac 48015adf0bfSmrg ;; 4815b28e182Smrg aushp:SunOS:*:*) 48215adf0bfSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 48315adf0bfSmrg ;; 4845b28e182Smrg # The situation for MiNT is a little confusing. The machine name 4855b28e182Smrg # can be virtually everything (everything which is not 4865b28e182Smrg # "atarist" or "atariste" at least should have a processor 4875b28e182Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 4885b28e182Smrg # to the lowercase version "mint" (or "freemint"). Finally 4895b28e182Smrg # the system name "TOS" denotes a system which is actually not 4905b28e182Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 4915b28e182Smrg # be no problem. 4925b28e182Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 49315adf0bfSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 49415adf0bfSmrg ;; 4955b28e182Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 49615adf0bfSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 49715adf0bfSmrg ;; 4985b28e182Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 49915adf0bfSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 50015adf0bfSmrg ;; 5015b28e182Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 50215adf0bfSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 50315adf0bfSmrg ;; 5045b28e182Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 50515adf0bfSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 50615adf0bfSmrg ;; 5075b28e182Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 50815adf0bfSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 50915adf0bfSmrg ;; 5105b28e182Smrg m68k:machten:*:*) 51115adf0bfSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 51215adf0bfSmrg ;; 5135b28e182Smrg powerpc:machten:*:*) 51415adf0bfSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 51515adf0bfSmrg ;; 5165b28e182Smrg RISC*:Mach:*:*) 51715adf0bfSmrg GUESS=mips-dec-mach_bsd4.3 51815adf0bfSmrg ;; 5195b28e182Smrg RISC*:ULTRIX:*:*) 52015adf0bfSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 52115adf0bfSmrg ;; 5225b28e182Smrg VAX*:ULTRIX*:*:*) 52315adf0bfSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 52415adf0bfSmrg ;; 5255b28e182Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 52615adf0bfSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 52715adf0bfSmrg ;; 5285b28e182Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 52915adf0bfSmrg set_cc_for_build 53015adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 5315b28e182Smrg#ifdef __cplusplus 5325b28e182Smrg#include <stdio.h> /* for printf() prototype */ 5335b28e182Smrg int main (int argc, char *argv[]) { 5345b28e182Smrg#else 5355b28e182Smrg int main (argc, argv) int argc; char *argv[]; { 5365b28e182Smrg#endif 5375b28e182Smrg #if defined (host_mips) && defined (MIPSEB) 5385b28e182Smrg #if defined (SYSTYPE_SYSV) 53915adf0bfSmrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 5405b28e182Smrg #endif 5415b28e182Smrg #if defined (SYSTYPE_SVR4) 54215adf0bfSmrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 5435b28e182Smrg #endif 5445b28e182Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 54515adf0bfSmrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 5465b28e182Smrg #endif 5475b28e182Smrg #endif 5485b28e182Smrg exit (-1); 5495b28e182Smrg } 5505b28e182SmrgEOF 55115adf0bfSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 55215adf0bfSmrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 55315adf0bfSmrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 5545b28e182Smrg { echo "$SYSTEM_NAME"; exit; } 55515adf0bfSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 55615adf0bfSmrg ;; 5575b28e182Smrg Motorola:PowerMAX_OS:*:*) 55815adf0bfSmrg GUESS=powerpc-motorola-powermax 55915adf0bfSmrg ;; 5605b28e182Smrg Motorola:*:4.3:PL8-*) 56115adf0bfSmrg GUESS=powerpc-harris-powermax 56215adf0bfSmrg ;; 5635b28e182Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 56415adf0bfSmrg GUESS=powerpc-harris-powermax 56515adf0bfSmrg ;; 5665b28e182Smrg Night_Hawk:Power_UNIX:*:*) 56715adf0bfSmrg GUESS=powerpc-harris-powerunix 56815adf0bfSmrg ;; 5695b28e182Smrg m88k:CX/UX:7*:*) 57015adf0bfSmrg GUESS=m88k-harris-cxux7 57115adf0bfSmrg ;; 5725b28e182Smrg m88k:*:4*:R4*) 57315adf0bfSmrg GUESS=m88k-motorola-sysv4 57415adf0bfSmrg ;; 5755b28e182Smrg m88k:*:3*:R3*) 57615adf0bfSmrg GUESS=m88k-motorola-sysv3 57715adf0bfSmrg ;; 5785b28e182Smrg AViiON:dgux:*:*) 57915adf0bfSmrg # DG/UX returns AViiON for all architectures 58015adf0bfSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 58115adf0bfSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 5825b28e182Smrg then 58315adf0bfSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 58415adf0bfSmrg test "$TARGET_BINARY_INTERFACE"x = x 5855b28e182Smrg then 58615adf0bfSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 5875b28e182Smrg else 58815adf0bfSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 5895b28e182Smrg fi 5905b28e182Smrg else 59115adf0bfSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 5925b28e182Smrg fi 59315adf0bfSmrg ;; 5945b28e182Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 59515adf0bfSmrg GUESS=m88k-dolphin-sysv3 59615adf0bfSmrg ;; 5975b28e182Smrg M88*:*:R3*:*) 5985b28e182Smrg # Delta 88k system running SVR3 59915adf0bfSmrg GUESS=m88k-motorola-sysv3 60015adf0bfSmrg ;; 6015b28e182Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 60215adf0bfSmrg GUESS=m88k-tektronix-sysv3 60315adf0bfSmrg ;; 6045b28e182Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 60515adf0bfSmrg GUESS=m68k-tektronix-bsd 60615adf0bfSmrg ;; 6075b28e182Smrg *:IRIX*:*:*) 60815adf0bfSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 60915adf0bfSmrg GUESS=mips-sgi-irix$IRIX_REL 61015adf0bfSmrg ;; 6115b28e182Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 61215adf0bfSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 61315adf0bfSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 6145b28e182Smrg i*86:AIX:*:*) 61515adf0bfSmrg GUESS=i386-ibm-aix 61615adf0bfSmrg ;; 6175b28e182Smrg ia64:AIX:*:*) 61815adf0bfSmrg if test -x /usr/bin/oslevel ; then 6195b28e182Smrg IBM_REV=`/usr/bin/oslevel` 6205b28e182Smrg else 62115adf0bfSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 6225b28e182Smrg fi 62315adf0bfSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 62415adf0bfSmrg ;; 6255b28e182Smrg *:AIX:2:3) 6265b28e182Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 62715adf0bfSmrg set_cc_for_build 62815adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 6295b28e182Smrg #include <sys/systemcfg.h> 6305b28e182Smrg 6315b28e182Smrg main() 6325b28e182Smrg { 6335b28e182Smrg if (!__power_pc()) 6345b28e182Smrg exit(1); 6355b28e182Smrg puts("powerpc-ibm-aix3.2.5"); 6365b28e182Smrg exit(0); 6375b28e182Smrg } 6385b28e182SmrgEOF 63915adf0bfSmrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 6405b28e182Smrg then 64115adf0bfSmrg GUESS=$SYSTEM_NAME 6425b28e182Smrg else 64315adf0bfSmrg GUESS=rs6000-ibm-aix3.2.5 6445b28e182Smrg fi 6455b28e182Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 64615adf0bfSmrg GUESS=rs6000-ibm-aix3.2.4 6475b28e182Smrg else 64815adf0bfSmrg GUESS=rs6000-ibm-aix3.2 6495b28e182Smrg fi 65015adf0bfSmrg ;; 651f1e20f77Smrg *:AIX:*:[4567]) 6525b28e182Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 65315adf0bfSmrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 6545b28e182Smrg IBM_ARCH=rs6000 6555b28e182Smrg else 6565b28e182Smrg IBM_ARCH=powerpc 6575b28e182Smrg fi 65815adf0bfSmrg if test -x /usr/bin/lslpp ; then 65915adf0bfSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66015adf0bfSmrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 6615b28e182Smrg else 66215adf0bfSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 6635b28e182Smrg fi 66415adf0bfSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 66515adf0bfSmrg ;; 6665b28e182Smrg *:AIX:*:*) 66715adf0bfSmrg GUESS=rs6000-ibm-aix 66815adf0bfSmrg ;; 66915adf0bfSmrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 67015adf0bfSmrg GUESS=romp-ibm-bsd4.4 67115adf0bfSmrg ;; 6725b28e182Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 67315adf0bfSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 67415adf0bfSmrg ;; # report: romp-ibm BSD 4.3 6755b28e182Smrg *:BOSX:*:*) 67615adf0bfSmrg GUESS=rs6000-bull-bosx 67715adf0bfSmrg ;; 6785b28e182Smrg DPX/2?00:B.O.S.:*:*) 67915adf0bfSmrg GUESS=m68k-bull-sysv3 68015adf0bfSmrg ;; 6815b28e182Smrg 9000/[34]??:4.3bsd:1.*:*) 68215adf0bfSmrg GUESS=m68k-hp-bsd 68315adf0bfSmrg ;; 6845b28e182Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 68515adf0bfSmrg GUESS=m68k-hp-bsd4.4 68615adf0bfSmrg ;; 6875b28e182Smrg 9000/[34678]??:HP-UX:*:*) 68815adf0bfSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 68915adf0bfSmrg case $UNAME_MACHINE in 69015adf0bfSmrg 9000/31?) HP_ARCH=m68000 ;; 69115adf0bfSmrg 9000/[34]??) HP_ARCH=m68k ;; 6925b28e182Smrg 9000/[678][0-9][0-9]) 69315adf0bfSmrg if test -x /usr/bin/getconf; then 6945b28e182Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 69515adf0bfSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 69615adf0bfSmrg case $sc_cpu_version in 69715adf0bfSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 69815adf0bfSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 69915adf0bfSmrg 532) # CPU_PA_RISC2_0 70015adf0bfSmrg case $sc_kernel_bits in 70115adf0bfSmrg 32) HP_ARCH=hppa2.0n ;; 70215adf0bfSmrg 64) HP_ARCH=hppa2.0w ;; 70315adf0bfSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 70415adf0bfSmrg esac ;; 70515adf0bfSmrg esac 7065b28e182Smrg fi 70715adf0bfSmrg if test "$HP_ARCH" = ""; then 70815adf0bfSmrg set_cc_for_build 70915adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 71015adf0bfSmrg 71115adf0bfSmrg #define _HPUX_SOURCE 71215adf0bfSmrg #include <stdlib.h> 71315adf0bfSmrg #include <unistd.h> 71415adf0bfSmrg 71515adf0bfSmrg int main () 71615adf0bfSmrg { 71715adf0bfSmrg #if defined(_SC_KERNEL_BITS) 71815adf0bfSmrg long bits = sysconf(_SC_KERNEL_BITS); 71915adf0bfSmrg #endif 72015adf0bfSmrg long cpu = sysconf (_SC_CPU_VERSION); 72115adf0bfSmrg 72215adf0bfSmrg switch (cpu) 72315adf0bfSmrg { 72415adf0bfSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 72515adf0bfSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 72615adf0bfSmrg case CPU_PA_RISC2_0: 72715adf0bfSmrg #if defined(_SC_KERNEL_BITS) 72815adf0bfSmrg switch (bits) 72915adf0bfSmrg { 73015adf0bfSmrg case 64: puts ("hppa2.0w"); break; 73115adf0bfSmrg case 32: puts ("hppa2.0n"); break; 73215adf0bfSmrg default: puts ("hppa2.0"); break; 73315adf0bfSmrg } break; 73415adf0bfSmrg #else /* !defined(_SC_KERNEL_BITS) */ 73515adf0bfSmrg puts ("hppa2.0"); break; 73615adf0bfSmrg #endif 73715adf0bfSmrg default: puts ("hppa1.0"); break; 73815adf0bfSmrg } 73915adf0bfSmrg exit (0); 74015adf0bfSmrg } 7415b28e182SmrgEOF 74215adf0bfSmrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 7435b28e182Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 7445b28e182Smrg fi ;; 7455b28e182Smrg esac 74615adf0bfSmrg if test "$HP_ARCH" = hppa2.0w 7475b28e182Smrg then 74815adf0bfSmrg set_cc_for_build 7495b28e182Smrg 7505b28e182Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 7515b28e182Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 7525b28e182Smrg # generating 64-bit code. GNU and HP use different nomenclature: 7535b28e182Smrg # 7545b28e182Smrg # $ CC_FOR_BUILD=cc ./config.guess 7555b28e182Smrg # => hppa2.0w-hp-hpux11.23 7565b28e182Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 7575b28e182Smrg # => hppa64-hp-hpux11.23 7585b28e182Smrg 75915adf0bfSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 760f1e20f77Smrg grep -q __LP64__ 7615b28e182Smrg then 76215adf0bfSmrg HP_ARCH=hppa2.0w 7635b28e182Smrg else 76415adf0bfSmrg HP_ARCH=hppa64 7655b28e182Smrg fi 7665b28e182Smrg fi 76715adf0bfSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 76815adf0bfSmrg ;; 7695b28e182Smrg ia64:HP-UX:*:*) 77015adf0bfSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 77115adf0bfSmrg GUESS=ia64-hp-hpux$HPUX_REV 77215adf0bfSmrg ;; 7735b28e182Smrg 3050*:HI-UX:*:*) 77415adf0bfSmrg set_cc_for_build 77515adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 7765b28e182Smrg #include <unistd.h> 7775b28e182Smrg int 7785b28e182Smrg main () 7795b28e182Smrg { 7805b28e182Smrg long cpu = sysconf (_SC_CPU_VERSION); 7815b28e182Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 7825b28e182Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 7835b28e182Smrg results, however. */ 7845b28e182Smrg if (CPU_IS_PA_RISC (cpu)) 7855b28e182Smrg { 7865b28e182Smrg switch (cpu) 7875b28e182Smrg { 7885b28e182Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 7895b28e182Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 7905b28e182Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 7915b28e182Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 7925b28e182Smrg } 7935b28e182Smrg } 7945b28e182Smrg else if (CPU_IS_HP_MC68K (cpu)) 7955b28e182Smrg puts ("m68k-hitachi-hiuxwe2"); 7965b28e182Smrg else puts ("unknown-hitachi-hiuxwe2"); 7975b28e182Smrg exit (0); 7985b28e182Smrg } 7995b28e182SmrgEOF 80015adf0bfSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 8015b28e182Smrg { echo "$SYSTEM_NAME"; exit; } 80215adf0bfSmrg GUESS=unknown-hitachi-hiuxwe2 80315adf0bfSmrg ;; 80415adf0bfSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 80515adf0bfSmrg GUESS=hppa1.1-hp-bsd 80615adf0bfSmrg ;; 8075b28e182Smrg 9000/8??:4.3bsd:*:*) 80815adf0bfSmrg GUESS=hppa1.0-hp-bsd 80915adf0bfSmrg ;; 8105b28e182Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 81115adf0bfSmrg GUESS=hppa1.0-hp-mpeix 81215adf0bfSmrg ;; 81315adf0bfSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 81415adf0bfSmrg GUESS=hppa1.1-hp-osf 81515adf0bfSmrg ;; 8165b28e182Smrg hp8??:OSF1:*:*) 81715adf0bfSmrg GUESS=hppa1.0-hp-osf 81815adf0bfSmrg ;; 8195b28e182Smrg i*86:OSF1:*:*) 82015adf0bfSmrg if test -x /usr/sbin/sysversion ; then 82115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 8225b28e182Smrg else 82315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-osf1 8245b28e182Smrg fi 82515adf0bfSmrg ;; 8265b28e182Smrg parisc*:Lites*:*:*) 82715adf0bfSmrg GUESS=hppa1.1-hp-lites 82815adf0bfSmrg ;; 8295b28e182Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 83015adf0bfSmrg GUESS=c1-convex-bsd 83115adf0bfSmrg ;; 8325b28e182Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 8335b28e182Smrg if getsysinfo -f scalar_acc 8345b28e182Smrg then echo c32-convex-bsd 8355b28e182Smrg else echo c2-convex-bsd 8365b28e182Smrg fi 83715adf0bfSmrg exit ;; 8385b28e182Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 83915adf0bfSmrg GUESS=c34-convex-bsd 84015adf0bfSmrg ;; 8415b28e182Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 84215adf0bfSmrg GUESS=c38-convex-bsd 84315adf0bfSmrg ;; 8445b28e182Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 84515adf0bfSmrg GUESS=c4-convex-bsd 84615adf0bfSmrg ;; 8475b28e182Smrg CRAY*Y-MP:*:*:*) 84815adf0bfSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 84915adf0bfSmrg GUESS=ymp-cray-unicos$CRAY_REL 85015adf0bfSmrg ;; 8515b28e182Smrg CRAY*[A-Z]90:*:*:*) 85215adf0bfSmrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 8535b28e182Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 8545b28e182Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 8555b28e182Smrg -e 's/\.[^.]*$/.X/' 8565b28e182Smrg exit ;; 8575b28e182Smrg CRAY*TS:*:*:*) 85815adf0bfSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 85915adf0bfSmrg GUESS=t90-cray-unicos$CRAY_REL 86015adf0bfSmrg ;; 8615b28e182Smrg CRAY*T3E:*:*:*) 86215adf0bfSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86315adf0bfSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 86415adf0bfSmrg ;; 8655b28e182Smrg CRAY*SV1:*:*:*) 86615adf0bfSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86715adf0bfSmrg GUESS=sv1-cray-unicos$CRAY_REL 86815adf0bfSmrg ;; 8695b28e182Smrg *:UNICOS/mp:*:*) 87015adf0bfSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87115adf0bfSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 87215adf0bfSmrg ;; 8735b28e182Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 87415adf0bfSmrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 87515adf0bfSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 87615adf0bfSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 87715adf0bfSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 87815adf0bfSmrg ;; 8795b28e182Smrg 5000:UNIX_System_V:4.*:*) 88015adf0bfSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88115adf0bfSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 88215adf0bfSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88315adf0bfSmrg ;; 8845b28e182Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 88515adf0bfSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 88615adf0bfSmrg ;; 8875b28e182Smrg sparc*:BSD/OS:*:*) 88815adf0bfSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 88915adf0bfSmrg ;; 8905b28e182Smrg *:BSD/OS:*:*) 89115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 89215adf0bfSmrg ;; 89315adf0bfSmrg arm:FreeBSD:*:*) 89415adf0bfSmrg UNAME_PROCESSOR=`uname -p` 89515adf0bfSmrg set_cc_for_build 89615adf0bfSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 89715adf0bfSmrg | grep -q __ARM_PCS_VFP 89815adf0bfSmrg then 89915adf0bfSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90015adf0bfSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90115adf0bfSmrg else 90215adf0bfSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90315adf0bfSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 90415adf0bfSmrg fi 90515adf0bfSmrg ;; 9065b28e182Smrg *:FreeBSD:*:*) 90715adf0bfSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 90815adf0bfSmrg case $UNAME_PROCESSOR in 9095b28e182Smrg amd64) 91015adf0bfSmrg UNAME_PROCESSOR=x86_64 ;; 91115adf0bfSmrg i386) 91215adf0bfSmrg UNAME_PROCESSOR=i586 ;; 9135b28e182Smrg esac 91415adf0bfSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 91515adf0bfSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 91615adf0bfSmrg ;; 9175b28e182Smrg i*:CYGWIN*:*) 91815adf0bfSmrg GUESS=$UNAME_MACHINE-pc-cygwin 91915adf0bfSmrg ;; 92015adf0bfSmrg *:MINGW64*:*) 92115adf0bfSmrg GUESS=$UNAME_MACHINE-pc-mingw64 92215adf0bfSmrg ;; 9235b28e182Smrg *:MINGW*:*) 92415adf0bfSmrg GUESS=$UNAME_MACHINE-pc-mingw32 92515adf0bfSmrg ;; 92615adf0bfSmrg *:MSYS*:*) 92715adf0bfSmrg GUESS=$UNAME_MACHINE-pc-msys 92815adf0bfSmrg ;; 9295b28e182Smrg i*:PW*:*) 93015adf0bfSmrg GUESS=$UNAME_MACHINE-pc-pw32 93115adf0bfSmrg ;; 93215adf0bfSmrg *:SerenityOS:*:*) 93315adf0bfSmrg GUESS=$UNAME_MACHINE-pc-serenity 93415adf0bfSmrg ;; 935f1e20f77Smrg *:Interix*:*) 93615adf0bfSmrg case $UNAME_MACHINE in 9375b28e182Smrg x86) 93815adf0bfSmrg GUESS=i586-pc-interix$UNAME_RELEASE 93915adf0bfSmrg ;; 940f1e20f77Smrg authenticamd | genuineintel | EM64T) 94115adf0bfSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 94215adf0bfSmrg ;; 9435b28e182Smrg IA64) 94415adf0bfSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 94515adf0bfSmrg ;; 9465b28e182Smrg esac ;; 9475b28e182Smrg i*:UWIN*:*) 94815adf0bfSmrg GUESS=$UNAME_MACHINE-pc-uwin 94915adf0bfSmrg ;; 9505b28e182Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 95115adf0bfSmrg GUESS=x86_64-pc-cygwin 95215adf0bfSmrg ;; 9535b28e182Smrg prep*:SunOS:5.*:*) 95415adf0bfSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 95515adf0bfSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 95615adf0bfSmrg ;; 9575b28e182Smrg *:GNU:*:*) 9585b28e182Smrg # the GNU system 95915adf0bfSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 96015adf0bfSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 96115adf0bfSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 96215adf0bfSmrg ;; 9635b28e182Smrg *:GNU/*:*:*) 9645b28e182Smrg # other systems with GNU libc and userland 96515adf0bfSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 96615adf0bfSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 96715adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 96815adf0bfSmrg ;; 96915adf0bfSmrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 97015adf0bfSmrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 97115adf0bfSmrg ;; 97215adf0bfSmrg *:[Mm]anagarm:*:*) 97315adf0bfSmrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 97415adf0bfSmrg ;; 97515adf0bfSmrg *:Minix:*:*) 97615adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-minix 97715adf0bfSmrg ;; 97815adf0bfSmrg aarch64:Linux:*:*) 97915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98015adf0bfSmrg ;; 98115adf0bfSmrg aarch64_be:Linux:*:*) 98215adf0bfSmrg UNAME_MACHINE=aarch64_be 98315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 98415adf0bfSmrg ;; 98515adf0bfSmrg alpha:Linux:*:*) 98615adf0bfSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 98715adf0bfSmrg EV5) UNAME_MACHINE=alphaev5 ;; 988f1e20f77Smrg EV56) UNAME_MACHINE=alphaev56 ;; 989f1e20f77Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 990f1e20f77Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 991f1e20f77Smrg EV6) UNAME_MACHINE=alphaev6 ;; 992f1e20f77Smrg EV67) UNAME_MACHINE=alphaev67 ;; 993f1e20f77Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 99415adf0bfSmrg esac 995f1e20f77Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 99615adf0bfSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 99715adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 99815adf0bfSmrg ;; 99915adf0bfSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 100015adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 100115adf0bfSmrg ;; 10025b28e182Smrg arm*:Linux:*:*) 100315adf0bfSmrg set_cc_for_build 10045b28e182Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 10055b28e182Smrg | grep -q __ARM_EABI__ 10065b28e182Smrg then 100715adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10085b28e182Smrg else 100915adf0bfSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 101015adf0bfSmrg | grep -q __ARM_PCS_VFP 101115adf0bfSmrg then 101215adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 101315adf0bfSmrg else 101415adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 101515adf0bfSmrg fi 10165b28e182Smrg fi 101715adf0bfSmrg ;; 10185b28e182Smrg avr32*:Linux:*:*) 101915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102015adf0bfSmrg ;; 10215b28e182Smrg cris:Linux:*:*) 102215adf0bfSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102315adf0bfSmrg ;; 10245b28e182Smrg crisv32:Linux:*:*) 102515adf0bfSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 102615adf0bfSmrg ;; 102715adf0bfSmrg e2k:Linux:*:*) 102815adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102915adf0bfSmrg ;; 10305b28e182Smrg frv:Linux:*:*) 103115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103215adf0bfSmrg ;; 103315adf0bfSmrg hexagon:Linux:*:*) 103415adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103515adf0bfSmrg ;; 1036f1e20f77Smrg i*86:Linux:*:*) 103715adf0bfSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 103815adf0bfSmrg ;; 10395b28e182Smrg ia64:Linux:*:*) 104015adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104115adf0bfSmrg ;; 104215adf0bfSmrg k1om:Linux:*:*) 104315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104415adf0bfSmrg ;; 104515adf0bfSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 104615adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104715adf0bfSmrg ;; 10485b28e182Smrg m32r*:Linux:*:*) 104915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105015adf0bfSmrg ;; 10515b28e182Smrg m68*:Linux:*:*) 105215adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105315adf0bfSmrg ;; 1054f1e20f77Smrg mips:Linux:*:* | mips64:Linux:*:*) 105515adf0bfSmrg set_cc_for_build 105615adf0bfSmrg IS_GLIBC=0 105715adf0bfSmrg test x"${LIBC}" = xgnu && IS_GLIBC=1 105815adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 10595b28e182Smrg #undef CPU 106015adf0bfSmrg #undef mips 106115adf0bfSmrg #undef mipsel 106215adf0bfSmrg #undef mips64 106315adf0bfSmrg #undef mips64el 106415adf0bfSmrg #if ${IS_GLIBC} && defined(_ABI64) 106515adf0bfSmrg LIBCABI=gnuabi64 106615adf0bfSmrg #else 106715adf0bfSmrg #if ${IS_GLIBC} && defined(_ABIN32) 106815adf0bfSmrg LIBCABI=gnuabin32 106915adf0bfSmrg #else 107015adf0bfSmrg LIBCABI=${LIBC} 107115adf0bfSmrg #endif 107215adf0bfSmrg #endif 107315adf0bfSmrg 107415adf0bfSmrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107515adf0bfSmrg CPU=mipsisa64r6 107615adf0bfSmrg #else 107715adf0bfSmrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 107815adf0bfSmrg CPU=mipsisa32r6 107915adf0bfSmrg #else 108015adf0bfSmrg #if defined(__mips64) 108115adf0bfSmrg CPU=mips64 108215adf0bfSmrg #else 108315adf0bfSmrg CPU=mips 108415adf0bfSmrg #endif 108515adf0bfSmrg #endif 108615adf0bfSmrg #endif 108715adf0bfSmrg 10885b28e182Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 108915adf0bfSmrg MIPS_ENDIAN=el 10905b28e182Smrg #else 10915b28e182Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 109215adf0bfSmrg MIPS_ENDIAN= 10935b28e182Smrg #else 109415adf0bfSmrg MIPS_ENDIAN= 10955b28e182Smrg #endif 10965b28e182Smrg #endif 10975b28e182SmrgEOF 109815adf0bfSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 109915adf0bfSmrg eval "$cc_set_vars" 110015adf0bfSmrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 110115adf0bfSmrg ;; 110215adf0bfSmrg mips64el:Linux:*:*) 110315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 110415adf0bfSmrg ;; 110515adf0bfSmrg openrisc*:Linux:*:*) 110615adf0bfSmrg GUESS=or1k-unknown-linux-$LIBC 110715adf0bfSmrg ;; 110815adf0bfSmrg or32:Linux:*:* | or1k*:Linux:*:*) 110915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11105b28e182Smrg ;; 11115b28e182Smrg padre:Linux:*:*) 111215adf0bfSmrg GUESS=sparc-unknown-linux-$LIBC 111315adf0bfSmrg ;; 1114f1e20f77Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 111515adf0bfSmrg GUESS=hppa64-unknown-linux-$LIBC 111615adf0bfSmrg ;; 11175b28e182Smrg parisc:Linux:*:* | hppa:Linux:*:*) 11185b28e182Smrg # Look for CPU level 11195b28e182Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 112015adf0bfSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 112115adf0bfSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 112215adf0bfSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 11235b28e182Smrg esac 112415adf0bfSmrg ;; 1125f1e20f77Smrg ppc64:Linux:*:*) 112615adf0bfSmrg GUESS=powerpc64-unknown-linux-$LIBC 112715adf0bfSmrg ;; 1128f1e20f77Smrg ppc:Linux:*:*) 112915adf0bfSmrg GUESS=powerpc-unknown-linux-$LIBC 113015adf0bfSmrg ;; 113115adf0bfSmrg ppc64le:Linux:*:*) 113215adf0bfSmrg GUESS=powerpc64le-unknown-linux-$LIBC 113315adf0bfSmrg ;; 113415adf0bfSmrg ppcle:Linux:*:*) 113515adf0bfSmrg GUESS=powerpcle-unknown-linux-$LIBC 113615adf0bfSmrg ;; 113715adf0bfSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 113815adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113915adf0bfSmrg ;; 11405b28e182Smrg s390:Linux:*:* | s390x:Linux:*:*) 114115adf0bfSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 114215adf0bfSmrg ;; 11435b28e182Smrg sh64*:Linux:*:*) 114415adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114515adf0bfSmrg ;; 11465b28e182Smrg sh*:Linux:*:*) 114715adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114815adf0bfSmrg ;; 11495b28e182Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 115015adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115115adf0bfSmrg ;; 1152f1e20f77Smrg tile*:Linux:*:*) 115315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 115415adf0bfSmrg ;; 11555b28e182Smrg vax:Linux:*:*) 115615adf0bfSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 115715adf0bfSmrg ;; 11585b28e182Smrg x86_64:Linux:*:*) 115915adf0bfSmrg set_cc_for_build 116015adf0bfSmrg CPU=$UNAME_MACHINE 116115adf0bfSmrg LIBCABI=$LIBC 116215adf0bfSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 116315adf0bfSmrg ABI=64 116415adf0bfSmrg sed 's/^ //' << EOF > "$dummy.c" 116515adf0bfSmrg #ifdef __i386__ 116615adf0bfSmrg ABI=x86 116715adf0bfSmrg #else 116815adf0bfSmrg #ifdef __ILP32__ 116915adf0bfSmrg ABI=x32 117015adf0bfSmrg #endif 117115adf0bfSmrg #endif 117215adf0bfSmrgEOF 117315adf0bfSmrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 117415adf0bfSmrg eval "$cc_set_abi" 117515adf0bfSmrg case $ABI in 117615adf0bfSmrg x86) CPU=i686 ;; 117715adf0bfSmrg x32) LIBCABI=${LIBC}x32 ;; 117815adf0bfSmrg esac 117915adf0bfSmrg fi 118015adf0bfSmrg GUESS=$CPU-pc-linux-$LIBCABI 118115adf0bfSmrg ;; 11825b28e182Smrg xtensa*:Linux:*:*) 118315adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118415adf0bfSmrg ;; 11855b28e182Smrg i*86:DYNIX/ptx:4*:*) 11865b28e182Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 11875b28e182Smrg # earlier versions are messed up and put the nodename in both 11885b28e182Smrg # sysname and nodename. 118915adf0bfSmrg GUESS=i386-sequent-sysv4 119015adf0bfSmrg ;; 11915b28e182Smrg i*86:UNIX_SV:4.2MP:2.*) 119215adf0bfSmrg # Unixware is an offshoot of SVR4, but it has its own version 119315adf0bfSmrg # number series starting with 2... 119415adf0bfSmrg # I am not positive that other SVR4 systems won't match this, 11955b28e182Smrg # I just have to hope. -- rms. 119615adf0bfSmrg # Use sysv4.2uw... so that sysv4* matches it. 119715adf0bfSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 119815adf0bfSmrg ;; 11995b28e182Smrg i*86:OS/2:*:*) 12005b28e182Smrg # If we were able to find `uname', then EMX Unix compatibility 12015b28e182Smrg # is probably installed. 120215adf0bfSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 120315adf0bfSmrg ;; 12045b28e182Smrg i*86:XTS-300:*:STOP) 120515adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-stop 120615adf0bfSmrg ;; 12075b28e182Smrg i*86:atheos:*:*) 120815adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-atheos 120915adf0bfSmrg ;; 12105b28e182Smrg i*86:syllable:*:*) 121115adf0bfSmrg GUESS=$UNAME_MACHINE-pc-syllable 121215adf0bfSmrg ;; 1213f1e20f77Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 121415adf0bfSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 121515adf0bfSmrg ;; 12165b28e182Smrg i*86:*DOS:*:*) 121715adf0bfSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 121815adf0bfSmrg ;; 121915adf0bfSmrg i*86:*:4.*:*) 122015adf0bfSmrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 12215b28e182Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 122215adf0bfSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 12235b28e182Smrg else 122415adf0bfSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 12255b28e182Smrg fi 122615adf0bfSmrg ;; 12275b28e182Smrg i*86:*:5:[678]*) 122815adf0bfSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 12295b28e182Smrg case `/bin/uname -X | grep "^Machine"` in 12305b28e182Smrg *486*) UNAME_MACHINE=i486 ;; 12315b28e182Smrg *Pentium) UNAME_MACHINE=i586 ;; 12325b28e182Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 12335b28e182Smrg esac 123415adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 123515adf0bfSmrg ;; 12365b28e182Smrg i*86:*:3.2:*) 12375b28e182Smrg if test -f /usr/options/cb.name; then 12385b28e182Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 123915adf0bfSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 12405b28e182Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 12415b28e182Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 12425b28e182Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 12435b28e182Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 12445b28e182Smrg && UNAME_MACHINE=i586 12455b28e182Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 12465b28e182Smrg && UNAME_MACHINE=i686 12475b28e182Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 12485b28e182Smrg && UNAME_MACHINE=i686 124915adf0bfSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 12505b28e182Smrg else 125115adf0bfSmrg GUESS=$UNAME_MACHINE-pc-sysv32 12525b28e182Smrg fi 125315adf0bfSmrg ;; 12545b28e182Smrg pc:*:*:*) 12555b28e182Smrg # Left here for compatibility: 125615adf0bfSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 125715adf0bfSmrg # the processor, so we play safe by assuming i586. 12585b28e182Smrg # Note: whatever this is, it MUST be the same as what config.sub 125915adf0bfSmrg # prints for the "djgpp" host, or else GDB configure will decide that 12605b28e182Smrg # this is a cross-build. 126115adf0bfSmrg GUESS=i586-pc-msdosdjgpp 126215adf0bfSmrg ;; 12635b28e182Smrg Intel:Mach:3*:*) 126415adf0bfSmrg GUESS=i386-pc-mach3 126515adf0bfSmrg ;; 12665b28e182Smrg paragon:*:*:*) 126715adf0bfSmrg GUESS=i860-intel-osf1 126815adf0bfSmrg ;; 12695b28e182Smrg i860:*:4.*:*) # i860-SVR4 12705b28e182Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 127115adf0bfSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 12725b28e182Smrg else # Add other i860-SVR4 vendors below as they are discovered. 127315adf0bfSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 12745b28e182Smrg fi 127515adf0bfSmrg ;; 12765b28e182Smrg mini*:CTIX:SYS*5:*) 12775b28e182Smrg # "miniframe" 127815adf0bfSmrg GUESS=m68010-convergent-sysv 127915adf0bfSmrg ;; 12805b28e182Smrg mc68k:UNIX:SYSTEM5:3.51m) 128115adf0bfSmrg GUESS=m68k-convergent-sysv 128215adf0bfSmrg ;; 12835b28e182Smrg M680?0:D-NIX:5.3:*) 128415adf0bfSmrg GUESS=m68k-diab-dnix 128515adf0bfSmrg ;; 12865b28e182Smrg M68*:*:R3V[5678]*:*) 12875b28e182Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 12885b28e182Smrg 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) 12895b28e182Smrg OS_REL='' 12905b28e182Smrg test -r /etc/.relid \ 12915b28e182Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 12925b28e182Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129315adf0bfSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 12945b28e182Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 129515adf0bfSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 12965b28e182Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 129715adf0bfSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129815adf0bfSmrg && { echo i486-ncr-sysv4; exit; } ;; 12995b28e182Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 13005b28e182Smrg OS_REL='.3' 13015b28e182Smrg test -r /etc/.relid \ 13025b28e182Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 13035b28e182Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 130415adf0bfSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 13055b28e182Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 130615adf0bfSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 13075b28e182Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 130815adf0bfSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 13095b28e182Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 131015adf0bfSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 131115adf0bfSmrg ;; 13125b28e182Smrg mc68030:UNIX_System_V:4.*:*) 131315adf0bfSmrg GUESS=m68k-atari-sysv4 131415adf0bfSmrg ;; 13155b28e182Smrg TSUNAMI:LynxOS:2.*:*) 131615adf0bfSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 131715adf0bfSmrg ;; 13185b28e182Smrg rs6000:LynxOS:2.*:*) 131915adf0bfSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 132015adf0bfSmrg ;; 1321f1e20f77Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 132215adf0bfSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 132315adf0bfSmrg ;; 13245b28e182Smrg SM[BE]S:UNIX_SV:*:*) 132515adf0bfSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 132615adf0bfSmrg ;; 13275b28e182Smrg RM*:ReliantUNIX-*:*:*) 132815adf0bfSmrg GUESS=mips-sni-sysv4 132915adf0bfSmrg ;; 13305b28e182Smrg RM*:SINIX-*:*:*) 133115adf0bfSmrg GUESS=mips-sni-sysv4 133215adf0bfSmrg ;; 13335b28e182Smrg *:SINIX-*:*:*) 13345b28e182Smrg if uname -p 2>/dev/null >/dev/null ; then 13355b28e182Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 133615adf0bfSmrg GUESS=$UNAME_MACHINE-sni-sysv4 13375b28e182Smrg else 133815adf0bfSmrg GUESS=ns32k-sni-sysv 13395b28e182Smrg fi 134015adf0bfSmrg ;; 134115adf0bfSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 134215adf0bfSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 134315adf0bfSmrg GUESS=i586-unisys-sysv4 134415adf0bfSmrg ;; 13455b28e182Smrg *:UNIX_System_V:4*:FTX*) 13465b28e182Smrg # From Gerald Hewes <hewes@openmarket.com>. 13475b28e182Smrg # How about differentiating between stratus architectures? -djm 134815adf0bfSmrg GUESS=hppa1.1-stratus-sysv4 134915adf0bfSmrg ;; 13505b28e182Smrg *:*:*:FTX*) 13515b28e182Smrg # From seanf@swdc.stratus.com. 135215adf0bfSmrg GUESS=i860-stratus-sysv4 135315adf0bfSmrg ;; 13545b28e182Smrg i*86:VOS:*:*) 13555b28e182Smrg # From Paul.Green@stratus.com. 135615adf0bfSmrg GUESS=$UNAME_MACHINE-stratus-vos 135715adf0bfSmrg ;; 13585b28e182Smrg *:VOS:*:*) 13595b28e182Smrg # From Paul.Green@stratus.com. 136015adf0bfSmrg GUESS=hppa1.1-stratus-vos 136115adf0bfSmrg ;; 13625b28e182Smrg mc68*:A/UX:*:*) 136315adf0bfSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 136415adf0bfSmrg ;; 13655b28e182Smrg news*:NEWS-OS:6*:*) 136615adf0bfSmrg GUESS=mips-sony-newsos6 136715adf0bfSmrg ;; 13685b28e182Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 136915adf0bfSmrg if test -d /usr/nec; then 137015adf0bfSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 13715b28e182Smrg else 137215adf0bfSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 13735b28e182Smrg fi 137415adf0bfSmrg ;; 13755b28e182Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 137615adf0bfSmrg GUESS=powerpc-be-beos 137715adf0bfSmrg ;; 13785b28e182Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 137915adf0bfSmrg GUESS=powerpc-apple-beos 138015adf0bfSmrg ;; 13815b28e182Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 138215adf0bfSmrg GUESS=i586-pc-beos 138315adf0bfSmrg ;; 13845b28e182Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 138515adf0bfSmrg GUESS=i586-pc-haiku 138615adf0bfSmrg ;; 138715adf0bfSmrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 138815adf0bfSmrg GUESS=powerpc-apple-haiku 138915adf0bfSmrg ;; 139015adf0bfSmrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 139115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-haiku 139215adf0bfSmrg ;; 13935b28e182Smrg SX-4:SUPER-UX:*:*) 139415adf0bfSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 139515adf0bfSmrg ;; 13965b28e182Smrg SX-5:SUPER-UX:*:*) 139715adf0bfSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 139815adf0bfSmrg ;; 13995b28e182Smrg SX-6:SUPER-UX:*:*) 140015adf0bfSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 140115adf0bfSmrg ;; 14025b28e182Smrg SX-7:SUPER-UX:*:*) 140315adf0bfSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 140415adf0bfSmrg ;; 14055b28e182Smrg SX-8:SUPER-UX:*:*) 140615adf0bfSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 140715adf0bfSmrg ;; 14085b28e182Smrg SX-8R:SUPER-UX:*:*) 140915adf0bfSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 141015adf0bfSmrg ;; 141115adf0bfSmrg SX-ACE:SUPER-UX:*:*) 141215adf0bfSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 141315adf0bfSmrg ;; 14145b28e182Smrg Power*:Rhapsody:*:*) 141515adf0bfSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 141615adf0bfSmrg ;; 14175b28e182Smrg *:Rhapsody:*:*) 141815adf0bfSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 141915adf0bfSmrg ;; 142015adf0bfSmrg arm64:Darwin:*:*) 142115adf0bfSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 142215adf0bfSmrg ;; 14235b28e182Smrg *:Darwin:*:*) 142415adf0bfSmrg UNAME_PROCESSOR=`uname -p` 14255b28e182Smrg case $UNAME_PROCESSOR in 14265b28e182Smrg unknown) UNAME_PROCESSOR=powerpc ;; 14275b28e182Smrg esac 142815adf0bfSmrg if command -v xcode-select > /dev/null 2> /dev/null && \ 142915adf0bfSmrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 143015adf0bfSmrg # Avoid executing cc if there is no toolchain installed as 143115adf0bfSmrg # cc will be a stub that puts up a graphical alert 143215adf0bfSmrg # prompting the user to install developer tools. 143315adf0bfSmrg CC_FOR_BUILD=no_compiler_found 143415adf0bfSmrg else 143515adf0bfSmrg set_cc_for_build 143615adf0bfSmrg fi 143715adf0bfSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 143815adf0bfSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 143915adf0bfSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 144015adf0bfSmrg grep IS_64BIT_ARCH >/dev/null 144115adf0bfSmrg then 144215adf0bfSmrg case $UNAME_PROCESSOR in 144315adf0bfSmrg i386) UNAME_PROCESSOR=x86_64 ;; 144415adf0bfSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 144515adf0bfSmrg esac 144615adf0bfSmrg fi 144715adf0bfSmrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 144815adf0bfSmrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 144915adf0bfSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 145015adf0bfSmrg grep IS_PPC >/dev/null 145115adf0bfSmrg then 145215adf0bfSmrg UNAME_PROCESSOR=powerpc 145315adf0bfSmrg fi 145415adf0bfSmrg elif test "$UNAME_PROCESSOR" = i386 ; then 145515adf0bfSmrg # uname -m returns i386 or x86_64 145615adf0bfSmrg UNAME_PROCESSOR=$UNAME_MACHINE 145715adf0bfSmrg fi 145815adf0bfSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 145915adf0bfSmrg ;; 14605b28e182Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 14615b28e182Smrg UNAME_PROCESSOR=`uname -p` 146215adf0bfSmrg if test "$UNAME_PROCESSOR" = x86; then 14635b28e182Smrg UNAME_PROCESSOR=i386 14645b28e182Smrg UNAME_MACHINE=pc 14655b28e182Smrg fi 146615adf0bfSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 146715adf0bfSmrg ;; 14685b28e182Smrg *:QNX:*:4*) 146915adf0bfSmrg GUESS=i386-pc-qnx 147015adf0bfSmrg ;; 147115adf0bfSmrg NEO-*:NONSTOP_KERNEL:*:*) 147215adf0bfSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 147315adf0bfSmrg ;; 147415adf0bfSmrg NSE-*:NONSTOP_KERNEL:*:*) 147515adf0bfSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 147615adf0bfSmrg ;; 147715adf0bfSmrg NSR-*:NONSTOP_KERNEL:*:*) 147815adf0bfSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 147915adf0bfSmrg ;; 148015adf0bfSmrg NSV-*:NONSTOP_KERNEL:*:*) 148115adf0bfSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 148215adf0bfSmrg ;; 148315adf0bfSmrg NSX-*:NONSTOP_KERNEL:*:*) 148415adf0bfSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 148515adf0bfSmrg ;; 14865b28e182Smrg *:NonStop-UX:*:*) 148715adf0bfSmrg GUESS=mips-compaq-nonstopux 148815adf0bfSmrg ;; 14895b28e182Smrg BS2000:POSIX*:*:*) 149015adf0bfSmrg GUESS=bs2000-siemens-sysv 149115adf0bfSmrg ;; 14925b28e182Smrg DS/*:UNIX_System_V:*:*) 149315adf0bfSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 149415adf0bfSmrg ;; 14955b28e182Smrg *:Plan9:*:*) 14965b28e182Smrg # "uname -m" is not consistent, so use $cputype instead. 386 14975b28e182Smrg # is converted to i386 for consistency with other x86 14985b28e182Smrg # operating systems. 149915adf0bfSmrg if test "${cputype-}" = 386; then 15005b28e182Smrg UNAME_MACHINE=i386 150115adf0bfSmrg elif test "x${cputype-}" != x; then 150215adf0bfSmrg UNAME_MACHINE=$cputype 15035b28e182Smrg fi 150415adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-plan9 150515adf0bfSmrg ;; 15065b28e182Smrg *:TOPS-10:*:*) 150715adf0bfSmrg GUESS=pdp10-unknown-tops10 150815adf0bfSmrg ;; 15095b28e182Smrg *:TENEX:*:*) 151015adf0bfSmrg GUESS=pdp10-unknown-tenex 151115adf0bfSmrg ;; 15125b28e182Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 151315adf0bfSmrg GUESS=pdp10-dec-tops20 151415adf0bfSmrg ;; 15155b28e182Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 151615adf0bfSmrg GUESS=pdp10-xkl-tops20 151715adf0bfSmrg ;; 15185b28e182Smrg *:TOPS-20:*:*) 151915adf0bfSmrg GUESS=pdp10-unknown-tops20 152015adf0bfSmrg ;; 15215b28e182Smrg *:ITS:*:*) 152215adf0bfSmrg GUESS=pdp10-unknown-its 152315adf0bfSmrg ;; 15245b28e182Smrg SEI:*:*:SEIUX) 152515adf0bfSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 152615adf0bfSmrg ;; 15275b28e182Smrg *:DragonFly:*:*) 152815adf0bfSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 152915adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 153015adf0bfSmrg ;; 15315b28e182Smrg *:*VMS:*:*) 153215adf0bfSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 153315adf0bfSmrg case $UNAME_MACHINE in 153415adf0bfSmrg A*) GUESS=alpha-dec-vms ;; 153515adf0bfSmrg I*) GUESS=ia64-dec-vms ;; 153615adf0bfSmrg V*) GUESS=vax-dec-vms ;; 15375b28e182Smrg esac ;; 15385b28e182Smrg *:XENIX:*:SysV) 153915adf0bfSmrg GUESS=i386-pc-xenix 154015adf0bfSmrg ;; 15415b28e182Smrg i*86:skyos:*:*) 154215adf0bfSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 154315adf0bfSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 154415adf0bfSmrg ;; 15455b28e182Smrg i*86:rdos:*:*) 154615adf0bfSmrg GUESS=$UNAME_MACHINE-pc-rdos 154715adf0bfSmrg ;; 154815adf0bfSmrg i*86:Fiwix:*:*) 154915adf0bfSmrg GUESS=$UNAME_MACHINE-pc-fiwix 155015adf0bfSmrg ;; 155115adf0bfSmrg *:AROS:*:*) 155215adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-aros 155315adf0bfSmrg ;; 155415adf0bfSmrg x86_64:VMkernel:*:*) 155515adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-esx 155615adf0bfSmrg ;; 155715adf0bfSmrg amd64:Isilon\ OneFS:*:*) 155815adf0bfSmrg GUESS=x86_64-unknown-onefs 155915adf0bfSmrg ;; 156015adf0bfSmrg *:Unleashed:*:*) 156115adf0bfSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 156215adf0bfSmrg ;; 15635b28e182Smrgesac 15645b28e182Smrg 156515adf0bfSmrg# Do we have a guess based on uname results? 156615adf0bfSmrgif test "x$GUESS" != x; then 156715adf0bfSmrg echo "$GUESS" 156815adf0bfSmrg exit 156915adf0bfSmrgfi 15705b28e182Smrg 157115adf0bfSmrg# No uname command or uname output not recognized. 157215adf0bfSmrgset_cc_for_build 157315adf0bfSmrgcat > "$dummy.c" <<EOF 15745b28e182Smrg#ifdef _SEQUENT_ 157515adf0bfSmrg#include <sys/types.h> 157615adf0bfSmrg#include <sys/utsname.h> 157715adf0bfSmrg#endif 157815adf0bfSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 157915adf0bfSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 158015adf0bfSmrg#include <signal.h> 158115adf0bfSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 158215adf0bfSmrg#include <sys/utsname.h> 158315adf0bfSmrg#endif 158415adf0bfSmrg#endif 15855b28e182Smrg#endif 15865b28e182Smrgmain () 15875b28e182Smrg{ 15885b28e182Smrg#if defined (sony) 15895b28e182Smrg#if defined (MIPSEB) 15905b28e182Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 15915b28e182Smrg I don't know.... */ 15925b28e182Smrg printf ("mips-sony-bsd\n"); exit (0); 15935b28e182Smrg#else 15945b28e182Smrg#include <sys/param.h> 15955b28e182Smrg printf ("m68k-sony-newsos%s\n", 15965b28e182Smrg#ifdef NEWSOS4 159715adf0bfSmrg "4" 15985b28e182Smrg#else 159915adf0bfSmrg "" 16005b28e182Smrg#endif 160115adf0bfSmrg ); exit (0); 16025b28e182Smrg#endif 16035b28e182Smrg#endif 16045b28e182Smrg 16055b28e182Smrg#if defined (NeXT) 16065b28e182Smrg#if !defined (__ARCHITECTURE__) 16075b28e182Smrg#define __ARCHITECTURE__ "m68k" 16085b28e182Smrg#endif 16095b28e182Smrg int version; 16105b28e182Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 16115b28e182Smrg if (version < 4) 16125b28e182Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 16135b28e182Smrg else 16145b28e182Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 16155b28e182Smrg exit (0); 16165b28e182Smrg#endif 16175b28e182Smrg 16185b28e182Smrg#if defined (MULTIMAX) || defined (n16) 16195b28e182Smrg#if defined (UMAXV) 16205b28e182Smrg printf ("ns32k-encore-sysv\n"); exit (0); 16215b28e182Smrg#else 16225b28e182Smrg#if defined (CMU) 16235b28e182Smrg printf ("ns32k-encore-mach\n"); exit (0); 16245b28e182Smrg#else 16255b28e182Smrg printf ("ns32k-encore-bsd\n"); exit (0); 16265b28e182Smrg#endif 16275b28e182Smrg#endif 16285b28e182Smrg#endif 16295b28e182Smrg 16305b28e182Smrg#if defined (__386BSD__) 16315b28e182Smrg printf ("i386-pc-bsd\n"); exit (0); 16325b28e182Smrg#endif 16335b28e182Smrg 16345b28e182Smrg#if defined (sequent) 16355b28e182Smrg#if defined (i386) 16365b28e182Smrg printf ("i386-sequent-dynix\n"); exit (0); 16375b28e182Smrg#endif 16385b28e182Smrg#if defined (ns32000) 16395b28e182Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 16405b28e182Smrg#endif 16415b28e182Smrg#endif 16425b28e182Smrg 16435b28e182Smrg#if defined (_SEQUENT_) 164415adf0bfSmrg struct utsname un; 16455b28e182Smrg 164615adf0bfSmrg uname(&un); 164715adf0bfSmrg if (strncmp(un.version, "V2", 2) == 0) { 164815adf0bfSmrg printf ("i386-sequent-ptx2\n"); exit (0); 164915adf0bfSmrg } 165015adf0bfSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 165115adf0bfSmrg printf ("i386-sequent-ptx1\n"); exit (0); 165215adf0bfSmrg } 165315adf0bfSmrg printf ("i386-sequent-ptx\n"); exit (0); 16545b28e182Smrg#endif 16555b28e182Smrg 16565b28e182Smrg#if defined (vax) 165715adf0bfSmrg#if !defined (ultrix) 165815adf0bfSmrg#include <sys/param.h> 165915adf0bfSmrg#if defined (BSD) 166015adf0bfSmrg#if BSD == 43 166115adf0bfSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 166215adf0bfSmrg#else 166315adf0bfSmrg#if BSD == 199006 166415adf0bfSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 166515adf0bfSmrg#else 166615adf0bfSmrg printf ("vax-dec-bsd\n"); exit (0); 166715adf0bfSmrg#endif 166815adf0bfSmrg#endif 166915adf0bfSmrg#else 167015adf0bfSmrg printf ("vax-dec-bsd\n"); exit (0); 167115adf0bfSmrg#endif 167215adf0bfSmrg#else 167315adf0bfSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 167415adf0bfSmrg struct utsname un; 167515adf0bfSmrg uname (&un); 167615adf0bfSmrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 167715adf0bfSmrg#else 167815adf0bfSmrg printf ("vax-dec-ultrix\n"); exit (0); 167915adf0bfSmrg#endif 168015adf0bfSmrg#endif 168115adf0bfSmrg#endif 168215adf0bfSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 168315adf0bfSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 168415adf0bfSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 168515adf0bfSmrg struct utsname *un; 168615adf0bfSmrg uname (&un); 168715adf0bfSmrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 168815adf0bfSmrg#else 168915adf0bfSmrg printf ("mips-dec-ultrix\n"); exit (0); 169015adf0bfSmrg#endif 169115adf0bfSmrg#endif 16925b28e182Smrg#endif 16935b28e182Smrg 16945b28e182Smrg#if defined (alliant) && defined (i860) 16955b28e182Smrg printf ("i860-alliant-bsd\n"); exit (0); 16965b28e182Smrg#endif 16975b28e182Smrg 16985b28e182Smrg exit (1); 16995b28e182Smrg} 17005b28e182SmrgEOF 17015b28e182Smrg 170215adf0bfSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 17035b28e182Smrg { echo "$SYSTEM_NAME"; exit; } 17045b28e182Smrg 17055b28e182Smrg# Apollos put the system type in the environment. 170615adf0bfSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 17075b28e182Smrg 170815adf0bfSmrgecho "$0: unable to guess system type" >&2 17095b28e182Smrg 171015adf0bfSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 171115adf0bfSmrg mips:Linux | mips64:Linux) 171215adf0bfSmrg # If we got here on MIPS GNU/Linux, output extra information. 171315adf0bfSmrg cat >&2 <<EOF 17145b28e182Smrg 171515adf0bfSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 171615adf0bfSmrgthe system type. Please install a C compiler and try again. 171715adf0bfSmrgEOF 171815adf0bfSmrg ;; 171915adf0bfSmrgesac 17205b28e182Smrg 17215b28e182Smrgcat >&2 <<EOF 17225b28e182Smrg 172315adf0bfSmrgThis script (version $timestamp), has failed to recognize the 172415adf0bfSmrgoperating system you are using. If your script is old, overwrite *all* 172515adf0bfSmrgcopies of config.guess and config.sub with the latest versions from: 17265b28e182Smrg 172715adf0bfSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 17285b28e182Smrgand 172915adf0bfSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 173015adf0bfSmrgEOF 17315b28e182Smrg 173215adf0bfSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 173315adf0bfSmrgthisyear=`date +%Y` 173415adf0bfSmrg# shellcheck disable=SC2003 173515adf0bfSmrgscript_age=`expr "$thisyear" - "$our_year"` 173615adf0bfSmrgif test "$script_age" -lt 3 ; then 173715adf0bfSmrg cat >&2 <<EOF 173815adf0bfSmrg 173915adf0bfSmrgIf $0 has already been updated, send the following data and any 174015adf0bfSmrginformation you think might be pertinent to config-patches@gnu.org to 174115adf0bfSmrgprovide the necessary information to handle your system. 17425b28e182Smrg 17435b28e182Smrgconfig.guess timestamp = $timestamp 17445b28e182Smrg 17455b28e182Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 17465b28e182Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 17475b28e182Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 17485b28e182Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 17495b28e182Smrg 17505b28e182Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 17515b28e182Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 17525b28e182Smrg 17535b28e182Smrghostinfo = `(hostinfo) 2>/dev/null` 17545b28e182Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 17555b28e182Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 17565b28e182Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 17575b28e182Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 17585b28e182Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 17595b28e182Smrg 176015adf0bfSmrgUNAME_MACHINE = "$UNAME_MACHINE" 176115adf0bfSmrgUNAME_RELEASE = "$UNAME_RELEASE" 176215adf0bfSmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 176315adf0bfSmrgUNAME_VERSION = "$UNAME_VERSION" 17645b28e182SmrgEOF 176515adf0bfSmrgfi 17665b28e182Smrg 17675b28e182Smrgexit 1 17685b28e182Smrg 17695b28e182Smrg# Local variables: 177015adf0bfSmrg# eval: (add-hook 'before-save-hook 'time-stamp) 17715b28e182Smrg# time-stamp-start: "timestamp='" 17725b28e182Smrg# time-stamp-format: "%:y-%02m-%02d" 17735b28e182Smrg# time-stamp-end: "'" 17745b28e182Smrg# End: 1775