config.guess revision 7f6d8fe2
17f6d8fe2Smrg#!/usr/bin/sh 27d5e3a19Smrg# Attempt to guess a canonical system name. 37f6d8fe2Smrg# Copyright 1992-2022 Free Software Foundation, Inc. 47d5e3a19Smrg 55212f86fSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 65212f86fSmrg 77f6d8fe2Smrgtimestamp='2022-05-25' 87d5e3a19Smrg 97d5e3a19Smrg# This file is free software; you can redistribute it and/or modify it 107d5e3a19Smrg# under the terms of the GNU General Public License as published by 117f6d8fe2Smrg# the Free Software Foundation, either version 3 of the License, or 127d5e3a19Smrg# (at your option) any later version. 137d5e3a19Smrg# 147d5e3a19Smrg# This program is distributed in the hope that it will be useful, but 157d5e3a19Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 167d5e3a19Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 177d5e3a19Smrg# General Public License for more details. 187d5e3a19Smrg# 197d5e3a19Smrg# You should have received a copy of the GNU General Public License 2013e6bc1cSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 217d5e3a19Smrg# 227d5e3a19Smrg# As a special exception to the GNU General Public License, if you 237d5e3a19Smrg# distribute this file as part of a program that contains a 247d5e3a19Smrg# configuration script generated by Autoconf, you may include it under 25b8414663Smrg# the same distribution terms that you use for the rest of that 26b8414663Smrg# program. This Exception is an additional permission under section 7 27b8414663Smrg# of the GNU General Public License, version 3 ("GPLv3"). 287d5e3a19Smrg# 29b8414663Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 307d5e3a19Smrg# 31765486e8Smrg# You can get the latest version of this script from: 325212f86fSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33b8414663Smrg# 34b8414663Smrg# Please send patches to <config-patches@gnu.org>. 35b8414663Smrg 367d5e3a19Smrg 375212f86fSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 385212f86fSmrg# about features and limitations of the classic Bourne shell that were 395212f86fSmrg# superseded or lifted in POSIX. However, this script identifies a wide 405212f86fSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 415212f86fSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 425212f86fSmrg# have a pre-POSIX /bin/sh. 435212f86fSmrg 445212f86fSmrg 457d5e3a19Smrgme=`echo "$0" | sed -e 's,.*/,,'` 467d5e3a19Smrg 477d5e3a19Smrgusage="\ 487d5e3a19SmrgUsage: $0 [OPTION] 497d5e3a19Smrg 507d5e3a19SmrgOutput the configuration name of the system \`$me' is run on. 517d5e3a19Smrg 5213e6bc1cSmrgOptions: 537d5e3a19Smrg -h, --help print this help, then exit 547d5e3a19Smrg -t, --time-stamp print date of last modification, then exit 557d5e3a19Smrg -v, --version print version number, then exit 567d5e3a19Smrg 577d5e3a19SmrgReport bugs and patches to <config-patches@gnu.org>." 587d5e3a19Smrg 597d5e3a19Smrgversion="\ 607d5e3a19SmrgGNU config.guess ($timestamp) 617d5e3a19Smrg 627d5e3a19SmrgOriginally written by Per Bothner. 637f6d8fe2SmrgCopyright 1992-2022 Free Software Foundation, Inc. 647d5e3a19Smrg 657d5e3a19SmrgThis is free software; see the source for copying conditions. There is NO 667d5e3a19Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 677d5e3a19Smrg 687d5e3a19Smrghelp=" 697d5e3a19SmrgTry \`$me --help' for more information." 707d5e3a19Smrg 717d5e3a19Smrg# Parse command line 727d5e3a19Smrgwhile test $# -gt 0 ; do 737d5e3a19Smrg case $1 in 747d5e3a19Smrg --time-stamp | --time* | -t ) 757d5e3a19Smrg echo "$timestamp" ; exit ;; 767d5e3a19Smrg --version | -v ) 777d5e3a19Smrg echo "$version" ; exit ;; 787d5e3a19Smrg --help | --h* | -h ) 797d5e3a19Smrg echo "$usage"; exit ;; 807d5e3a19Smrg -- ) # Stop option processing 817d5e3a19Smrg shift; break ;; 827d5e3a19Smrg - ) # Use stdin as input. 837d5e3a19Smrg break ;; 847d5e3a19Smrg -* ) 857d5e3a19Smrg echo "$me: invalid option $1$help" >&2 867d5e3a19Smrg exit 1 ;; 877d5e3a19Smrg * ) 887d5e3a19Smrg break ;; 897d5e3a19Smrg esac 907d5e3a19Smrgdone 917d5e3a19Smrg 927d5e3a19Smrgif test $# != 0; then 937d5e3a19Smrg echo "$me: too many arguments$help" >&2 947d5e3a19Smrg exit 1 957d5e3a19Smrgfi 967d5e3a19Smrg 975212f86fSmrg# Just in case it came from the environment. 985212f86fSmrgGUESS= 997d5e3a19Smrg 1007d5e3a19Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 1017d5e3a19Smrg# compiler to aid in system detection is discouraged as it requires 1027d5e3a19Smrg# temporary files to be created and, as you can see below, it is a 1037d5e3a19Smrg# headache to deal with in a portable fashion. 1047d5e3a19Smrg 1057d5e3a19Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1067d5e3a19Smrg# use `HOST_CC' if defined, but it is deprecated. 1077d5e3a19Smrg 1087d5e3a19Smrg# Portable tmp directory creation inspired by the Autoconf team. 1097d5e3a19Smrg 1105212f86fSmrgtmp= 1115212f86fSmrg# shellcheck disable=SC2172 1125212f86fSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 1135212f86fSmrg 1145212f86fSmrgset_cc_for_build() { 1155212f86fSmrg # prevent multiple calls if $tmp is already set 1165212f86fSmrg test "$tmp" && return 0 1175212f86fSmrg : "${TMPDIR=/tmp}" 1185212f86fSmrg # shellcheck disable=SC2039,SC3028 1195212f86fSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1205212f86fSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 1215212f86fSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 1225212f86fSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 1235212f86fSmrg dummy=$tmp/dummy 1245212f86fSmrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 1255212f86fSmrg ,,) echo "int x;" > "$dummy.c" 1265212f86fSmrg for driver in cc gcc c89 c99 ; do 1275212f86fSmrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 1285212f86fSmrg CC_FOR_BUILD=$driver 1295212f86fSmrg break 1305212f86fSmrg fi 1315212f86fSmrg done 1325212f86fSmrg if test x"$CC_FOR_BUILD" = x ; then 1335212f86fSmrg CC_FOR_BUILD=no_compiler_found 1345212f86fSmrg fi 1355212f86fSmrg ;; 1365212f86fSmrg ,,*) CC_FOR_BUILD=$CC ;; 1375212f86fSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1385212f86fSmrg esac 1395212f86fSmrg} 1407d5e3a19Smrg 1417d5e3a19Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1427d5e3a19Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1435212f86fSmrgif test -f /.attbin/uname ; then 1447d5e3a19Smrg PATH=$PATH:/.attbin ; export PATH 1457d5e3a19Smrgfi 1467d5e3a19Smrg 1477d5e3a19SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1487d5e3a19SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1495212f86fSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1507d5e3a19SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1517d5e3a19Smrg 1525212f86fSmrgcase $UNAME_SYSTEM in 153b8414663SmrgLinux|GNU|GNU/*) 1545212f86fSmrg LIBC=unknown 155b8414663Smrg 1565212f86fSmrg set_cc_for_build 15713e6bc1cSmrg cat <<-EOF > "$dummy.c" 158b8414663Smrg #include <features.h> 159b8414663Smrg #if defined(__UCLIBC__) 160b8414663Smrg LIBC=uclibc 161b8414663Smrg #elif defined(__dietlibc__) 162b8414663Smrg LIBC=dietlibc 1635212f86fSmrg #elif defined(__GLIBC__) 164b8414663Smrg LIBC=gnu 1655212f86fSmrg #else 1665212f86fSmrg #include <stdarg.h> 1675212f86fSmrg /* First heuristic to detect musl libc. */ 1685212f86fSmrg #ifdef __DEFINED_va_list 1695212f86fSmrg LIBC=musl 1705212f86fSmrg #endif 171b8414663Smrg #endif 172b8414663Smrg EOF 1735212f86fSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 1745212f86fSmrg eval "$cc_set_libc" 17513e6bc1cSmrg 1765212f86fSmrg # Second heuristic to detect musl libc. 1775212f86fSmrg if [ "$LIBC" = unknown ] && 1785212f86fSmrg command -v ldd >/dev/null && 1795212f86fSmrg ldd --version 2>&1 | grep -q ^musl; then 1805212f86fSmrg LIBC=musl 1815212f86fSmrg fi 1825212f86fSmrg 1835212f86fSmrg # If the system lacks a compiler, then just pick glibc. 1845212f86fSmrg # We could probably try harder. 1855212f86fSmrg if [ "$LIBC" = unknown ]; then 1865212f86fSmrg LIBC=gnu 18713e6bc1cSmrg fi 188b8414663Smrg ;; 189b8414663Smrgesac 190b8414663Smrg 1917d5e3a19Smrg# Note: order is significant - the case branches are not exclusive. 1927d5e3a19Smrg 1935212f86fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 1947d5e3a19Smrg *:NetBSD:*:*) 1957d5e3a19Smrg # NetBSD (nbsd) targets should (where applicable) match one or 196b8414663Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 1977d5e3a19Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1987d5e3a19Smrg # switched to ELF, *-*-netbsd* would select the old 1997d5e3a19Smrg # object file format. This provides both forward 2007d5e3a19Smrg # compatibility and a consistent mechanism for selecting the 2017d5e3a19Smrg # object file format. 2027d5e3a19Smrg # 2037d5e3a19Smrg # Note: NetBSD doesn't particularly care about the vendor 2047d5e3a19Smrg # portion of the name. We always set it to "unknown". 20513e6bc1cSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 2065212f86fSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2075212f86fSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 20813e6bc1cSmrg echo unknown)` 2095212f86fSmrg case $UNAME_MACHINE_ARCH in 2105212f86fSmrg aarch64eb) machine=aarch64_be-unknown ;; 2117d5e3a19Smrg armeb) machine=armeb-unknown ;; 2127d5e3a19Smrg arm*) machine=arm-unknown ;; 2137d5e3a19Smrg sh3el) machine=shl-unknown ;; 2147d5e3a19Smrg sh3eb) machine=sh-unknown ;; 2151568b75bSmrg sh5el) machine=sh5le-unknown ;; 21613e6bc1cSmrg earmv*) 21713e6bc1cSmrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 21813e6bc1cSmrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 2195212f86fSmrg machine=${arch}${endian}-unknown 22013e6bc1cSmrg ;; 2215212f86fSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 2227d5e3a19Smrg esac 2237d5e3a19Smrg # The Operating System including object format, if it has switched 22413e6bc1cSmrg # to ELF recently (or will in the future) and ABI. 2255212f86fSmrg case $UNAME_MACHINE_ARCH in 22613e6bc1cSmrg earm*) 22713e6bc1cSmrg os=netbsdelf 22813e6bc1cSmrg ;; 2297d5e3a19Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 2305212f86fSmrg set_cc_for_build 2317d5e3a19Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 232765486e8Smrg | grep -q __ELF__ 2337d5e3a19Smrg then 2347d5e3a19Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 2357d5e3a19Smrg # Return netbsd for either. FIX? 2367d5e3a19Smrg os=netbsd 2377d5e3a19Smrg else 2387d5e3a19Smrg os=netbsdelf 2397d5e3a19Smrg fi 2407d5e3a19Smrg ;; 2417d5e3a19Smrg *) 242b8414663Smrg os=netbsd 2437d5e3a19Smrg ;; 2447d5e3a19Smrg esac 24513e6bc1cSmrg # Determine ABI tags. 2465212f86fSmrg case $UNAME_MACHINE_ARCH in 24713e6bc1cSmrg earm*) 24813e6bc1cSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 24913e6bc1cSmrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 25013e6bc1cSmrg ;; 25113e6bc1cSmrg esac 2527d5e3a19Smrg # The OS release 2537d5e3a19Smrg # Debian GNU/NetBSD machines have a different userland, and 2547d5e3a19Smrg # thus, need a distinct triplet. However, they do not need 2557d5e3a19Smrg # kernel version information, so it can be replaced with a 2567d5e3a19Smrg # suitable tag, in the style of linux-gnu. 2575212f86fSmrg case $UNAME_VERSION in 2587d5e3a19Smrg Debian*) 2597d5e3a19Smrg release='-gnu' 2607d5e3a19Smrg ;; 2617d5e3a19Smrg *) 26213e6bc1cSmrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 2637d5e3a19Smrg ;; 2647d5e3a19Smrg esac 2657d5e3a19Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2667d5e3a19Smrg # contains redundant information, the shorter form: 2677d5e3a19Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2685212f86fSmrg GUESS=$machine-${os}${release}${abi-} 2695212f86fSmrg ;; 270b8414663Smrg *:Bitrig:*:*) 271b8414663Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 2725212f86fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 2735212f86fSmrg ;; 2747d5e3a19Smrg *:OpenBSD:*:*) 2757d5e3a19Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 2765212f86fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 2775212f86fSmrg ;; 2785212f86fSmrg *:SecBSD:*:*) 2795212f86fSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 2805212f86fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 2815212f86fSmrg ;; 28213e6bc1cSmrg *:LibertyBSD:*:*) 28313e6bc1cSmrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 2845212f86fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 2855212f86fSmrg ;; 28613e6bc1cSmrg *:MidnightBSD:*:*) 2875212f86fSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 2885212f86fSmrg ;; 2897d5e3a19Smrg *:ekkoBSD:*:*) 2905212f86fSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 2915212f86fSmrg ;; 2927d5e3a19Smrg *:SolidBSD:*:*) 2935212f86fSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 2945212f86fSmrg ;; 2955212f86fSmrg *:OS108:*:*) 2965212f86fSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 2975212f86fSmrg ;; 2987d5e3a19Smrg macppc:MirBSD:*:*) 2995212f86fSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 3005212f86fSmrg ;; 3017d5e3a19Smrg *:MirBSD:*:*) 3025212f86fSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 3035212f86fSmrg ;; 30413e6bc1cSmrg *:Sortix:*:*) 3055212f86fSmrg GUESS=$UNAME_MACHINE-unknown-sortix 3065212f86fSmrg ;; 3075212f86fSmrg *:Twizzler:*:*) 3085212f86fSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 3095212f86fSmrg ;; 31013e6bc1cSmrg *:Redox:*:*) 3115212f86fSmrg GUESS=$UNAME_MACHINE-unknown-redox 3125212f86fSmrg ;; 31313e6bc1cSmrg mips:OSF1:*.*) 3145212f86fSmrg GUESS=mips-dec-osf1 3155212f86fSmrg ;; 3167d5e3a19Smrg alpha:OSF1:*:*) 3175212f86fSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 3185212f86fSmrg trap '' 0 3197d5e3a19Smrg case $UNAME_RELEASE in 3207d5e3a19Smrg *4.0) 3217d5e3a19Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 3227d5e3a19Smrg ;; 3237d5e3a19Smrg *5.*) 324b8414663Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 3257d5e3a19Smrg ;; 3267d5e3a19Smrg esac 3277d5e3a19Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 3287d5e3a19Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 3297d5e3a19Smrg # covers most systems running today. This code pipes the CPU 3307d5e3a19Smrg # types through head -n 1, so we only detect the type of CPU 0. 3317d5e3a19Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 3325212f86fSmrg case $ALPHA_CPU_TYPE in 3337d5e3a19Smrg "EV4 (21064)") 33413e6bc1cSmrg UNAME_MACHINE=alpha ;; 3357d5e3a19Smrg "EV4.5 (21064)") 33613e6bc1cSmrg UNAME_MACHINE=alpha ;; 3377d5e3a19Smrg "LCA4 (21066/21068)") 33813e6bc1cSmrg UNAME_MACHINE=alpha ;; 3397d5e3a19Smrg "EV5 (21164)") 34013e6bc1cSmrg UNAME_MACHINE=alphaev5 ;; 3417d5e3a19Smrg "EV5.6 (21164A)") 34213e6bc1cSmrg UNAME_MACHINE=alphaev56 ;; 3437d5e3a19Smrg "EV5.6 (21164PC)") 34413e6bc1cSmrg UNAME_MACHINE=alphapca56 ;; 3457d5e3a19Smrg "EV5.7 (21164PC)") 34613e6bc1cSmrg UNAME_MACHINE=alphapca57 ;; 3477d5e3a19Smrg "EV6 (21264)") 34813e6bc1cSmrg UNAME_MACHINE=alphaev6 ;; 3497d5e3a19Smrg "EV6.7 (21264A)") 35013e6bc1cSmrg UNAME_MACHINE=alphaev67 ;; 3517d5e3a19Smrg "EV6.8CB (21264C)") 35213e6bc1cSmrg UNAME_MACHINE=alphaev68 ;; 3537d5e3a19Smrg "EV6.8AL (21264B)") 35413e6bc1cSmrg UNAME_MACHINE=alphaev68 ;; 3557d5e3a19Smrg "EV6.8CX (21264D)") 35613e6bc1cSmrg UNAME_MACHINE=alphaev68 ;; 3577d5e3a19Smrg "EV6.9A (21264/EV69A)") 35813e6bc1cSmrg UNAME_MACHINE=alphaev69 ;; 3597d5e3a19Smrg "EV7 (21364)") 36013e6bc1cSmrg UNAME_MACHINE=alphaev7 ;; 3617d5e3a19Smrg "EV7.9 (21364A)") 36213e6bc1cSmrg UNAME_MACHINE=alphaev79 ;; 3637d5e3a19Smrg esac 3647d5e3a19Smrg # A Pn.n version is a patched version. 3657d5e3a19Smrg # A Vn.n version is a released version. 3667d5e3a19Smrg # A Tn.n version is a released field test version. 3677d5e3a19Smrg # A Xn.n version is an unreleased experimental baselevel. 3687d5e3a19Smrg # 1.2 uses "1.2" for uname -r. 3695212f86fSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 3705212f86fSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 3715212f86fSmrg ;; 3727d5e3a19Smrg Amiga*:UNIX_System_V:4.0:*) 3735212f86fSmrg GUESS=m68k-unknown-sysv4 3745212f86fSmrg ;; 3757d5e3a19Smrg *:[Aa]miga[Oo][Ss]:*:*) 3765212f86fSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 3775212f86fSmrg ;; 3787d5e3a19Smrg *:[Mm]orph[Oo][Ss]:*:*) 3795212f86fSmrg GUESS=$UNAME_MACHINE-unknown-morphos 3805212f86fSmrg ;; 3817d5e3a19Smrg *:OS/390:*:*) 3825212f86fSmrg GUESS=i370-ibm-openedition 3835212f86fSmrg ;; 3847d5e3a19Smrg *:z/VM:*:*) 3855212f86fSmrg GUESS=s390-ibm-zvmoe 3865212f86fSmrg ;; 3877d5e3a19Smrg *:OS400:*:*) 3885212f86fSmrg GUESS=powerpc-ibm-os400 3895212f86fSmrg ;; 3907d5e3a19Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3915212f86fSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 3925212f86fSmrg ;; 393b8414663Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 3945212f86fSmrg GUESS=arm-unknown-riscos 3955212f86fSmrg ;; 3967d5e3a19Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3975212f86fSmrg GUESS=hppa1.1-hitachi-hiuxmpp 3985212f86fSmrg ;; 3997d5e3a19Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 4007d5e3a19Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 4015212f86fSmrg case `(/bin/universe) 2>/dev/null` in 4025212f86fSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 4035212f86fSmrg *) GUESS=pyramid-pyramid-bsd ;; 4045212f86fSmrg esac 4055212f86fSmrg ;; 4067d5e3a19Smrg NILE*:*:*:dcosx) 4075212f86fSmrg GUESS=pyramid-pyramid-svr4 4085212f86fSmrg ;; 4097d5e3a19Smrg DRS?6000:unix:4.0:6*) 4105212f86fSmrg GUESS=sparc-icl-nx6 4115212f86fSmrg ;; 4127d5e3a19Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 4137d5e3a19Smrg case `/usr/bin/uname -p` in 4145212f86fSmrg sparc) GUESS=sparc-icl-nx7 ;; 4155212f86fSmrg esac 4165212f86fSmrg ;; 417765486e8Smrg s390x:SunOS:*:*) 4185212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4195212f86fSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 4205212f86fSmrg ;; 4217d5e3a19Smrg sun4H:SunOS:5.*:*) 4225212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4235212f86fSmrg GUESS=sparc-hal-solaris2$SUN_REL 4245212f86fSmrg ;; 4257d5e3a19Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 4265212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4275212f86fSmrg GUESS=sparc-sun-solaris2$SUN_REL 4285212f86fSmrg ;; 429765486e8Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 4305212f86fSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 4315212f86fSmrg ;; 4321568b75bSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 4335212f86fSmrg set_cc_for_build 43413e6bc1cSmrg SUN_ARCH=i386 435765486e8Smrg # If there is a compiler, see if it is configured for 64-bit objects. 436765486e8Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 437765486e8Smrg # This test works for both compilers. 4385212f86fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 439765486e8Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4407f6d8fe2Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 441765486e8Smrg grep IS_64BIT_ARCH >/dev/null 442765486e8Smrg then 44313e6bc1cSmrg SUN_ARCH=x86_64 444765486e8Smrg fi 445765486e8Smrg fi 4465212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4475212f86fSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 4485212f86fSmrg ;; 4497d5e3a19Smrg sun4*:SunOS:6*:*) 4507d5e3a19Smrg # According to config.sub, this is the proper way to canonicalize 4517d5e3a19Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 4527d5e3a19Smrg # it's likely to be more like Solaris than SunOS4. 4535212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4545212f86fSmrg GUESS=sparc-sun-solaris3$SUN_REL 4555212f86fSmrg ;; 4567d5e3a19Smrg sun4*:SunOS:*:*) 4575212f86fSmrg case `/usr/bin/arch -k` in 4587d5e3a19Smrg Series*|S4*) 4597d5e3a19Smrg UNAME_RELEASE=`uname -v` 4607d5e3a19Smrg ;; 4617d5e3a19Smrg esac 4627d5e3a19Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 4635212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 4645212f86fSmrg GUESS=sparc-sun-sunos$SUN_REL 4655212f86fSmrg ;; 4667d5e3a19Smrg sun3*:SunOS:*:*) 4675212f86fSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 4685212f86fSmrg ;; 4697d5e3a19Smrg sun*:*:4.2BSD:*) 4707d5e3a19Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47113e6bc1cSmrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 4725212f86fSmrg case `/bin/arch` in 4737d5e3a19Smrg sun3) 4745212f86fSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 4757d5e3a19Smrg ;; 4767d5e3a19Smrg sun4) 4775212f86fSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 4787d5e3a19Smrg ;; 4797d5e3a19Smrg esac 4805212f86fSmrg ;; 4817d5e3a19Smrg aushp:SunOS:*:*) 4825212f86fSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 4835212f86fSmrg ;; 4847d5e3a19Smrg # The situation for MiNT is a little confusing. The machine name 4857d5e3a19Smrg # can be virtually everything (everything which is not 4867d5e3a19Smrg # "atarist" or "atariste" at least should have a processor 4877d5e3a19Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 4887d5e3a19Smrg # to the lowercase version "mint" (or "freemint"). Finally 4897d5e3a19Smrg # the system name "TOS" denotes a system which is actually not 4907d5e3a19Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 4917d5e3a19Smrg # be no problem. 4927d5e3a19Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4935212f86fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 4945212f86fSmrg ;; 4957d5e3a19Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4965212f86fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 4975212f86fSmrg ;; 4987d5e3a19Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4995212f86fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 5005212f86fSmrg ;; 5017d5e3a19Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 5025212f86fSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 5035212f86fSmrg ;; 5047d5e3a19Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 5055212f86fSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 5065212f86fSmrg ;; 5077d5e3a19Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 5085212f86fSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 5095212f86fSmrg ;; 5107d5e3a19Smrg m68k:machten:*:*) 5115212f86fSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 5125212f86fSmrg ;; 5137d5e3a19Smrg powerpc:machten:*:*) 5145212f86fSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 5155212f86fSmrg ;; 5167d5e3a19Smrg RISC*:Mach:*:*) 5175212f86fSmrg GUESS=mips-dec-mach_bsd4.3 5185212f86fSmrg ;; 5197d5e3a19Smrg RISC*:ULTRIX:*:*) 5205212f86fSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 5215212f86fSmrg ;; 5227d5e3a19Smrg VAX*:ULTRIX*:*:*) 5235212f86fSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 5245212f86fSmrg ;; 5257d5e3a19Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 5265212f86fSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 5275212f86fSmrg ;; 5287d5e3a19Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 5295212f86fSmrg set_cc_for_build 53013e6bc1cSmrg sed 's/^ //' << EOF > "$dummy.c" 5317d5e3a19Smrg#ifdef __cplusplus 5327d5e3a19Smrg#include <stdio.h> /* for printf() prototype */ 5337d5e3a19Smrg int main (int argc, char *argv[]) { 5347d5e3a19Smrg#else 5357d5e3a19Smrg int main (argc, argv) int argc; char *argv[]; { 5367d5e3a19Smrg#endif 5377d5e3a19Smrg #if defined (host_mips) && defined (MIPSEB) 5387d5e3a19Smrg #if defined (SYSTYPE_SYSV) 53913e6bc1cSmrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 5407d5e3a19Smrg #endif 5417d5e3a19Smrg #if defined (SYSTYPE_SVR4) 54213e6bc1cSmrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 5437d5e3a19Smrg #endif 5447d5e3a19Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 54513e6bc1cSmrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 5467d5e3a19Smrg #endif 5477d5e3a19Smrg #endif 5487d5e3a19Smrg exit (-1); 5497d5e3a19Smrg } 5507d5e3a19SmrgEOF 55113e6bc1cSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 55213e6bc1cSmrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 55313e6bc1cSmrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 5547d5e3a19Smrg { echo "$SYSTEM_NAME"; exit; } 5555212f86fSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 5565212f86fSmrg ;; 5577d5e3a19Smrg Motorola:PowerMAX_OS:*:*) 5585212f86fSmrg GUESS=powerpc-motorola-powermax 5595212f86fSmrg ;; 5607d5e3a19Smrg Motorola:*:4.3:PL8-*) 5615212f86fSmrg GUESS=powerpc-harris-powermax 5625212f86fSmrg ;; 5637d5e3a19Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 5645212f86fSmrg GUESS=powerpc-harris-powermax 5655212f86fSmrg ;; 5667d5e3a19Smrg Night_Hawk:Power_UNIX:*:*) 5675212f86fSmrg GUESS=powerpc-harris-powerunix 5685212f86fSmrg ;; 5697d5e3a19Smrg m88k:CX/UX:7*:*) 5705212f86fSmrg GUESS=m88k-harris-cxux7 5715212f86fSmrg ;; 5727d5e3a19Smrg m88k:*:4*:R4*) 5735212f86fSmrg GUESS=m88k-motorola-sysv4 5745212f86fSmrg ;; 5757d5e3a19Smrg m88k:*:3*:R3*) 5765212f86fSmrg GUESS=m88k-motorola-sysv3 5775212f86fSmrg ;; 5787d5e3a19Smrg AViiON:dgux:*:*) 579b8414663Smrg # DG/UX returns AViiON for all architectures 580b8414663Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 5815212f86fSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 5827d5e3a19Smrg then 5835212f86fSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 5845212f86fSmrg test "$TARGET_BINARY_INTERFACE"x = x 5857d5e3a19Smrg then 5865212f86fSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 5877d5e3a19Smrg else 5885212f86fSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 5897d5e3a19Smrg fi 5907d5e3a19Smrg else 5915212f86fSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 5927d5e3a19Smrg fi 5935212f86fSmrg ;; 5947d5e3a19Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 5955212f86fSmrg GUESS=m88k-dolphin-sysv3 5965212f86fSmrg ;; 5977d5e3a19Smrg M88*:*:R3*:*) 5987d5e3a19Smrg # Delta 88k system running SVR3 5995212f86fSmrg GUESS=m88k-motorola-sysv3 6005212f86fSmrg ;; 6017d5e3a19Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 6025212f86fSmrg GUESS=m88k-tektronix-sysv3 6035212f86fSmrg ;; 6047d5e3a19Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 6055212f86fSmrg GUESS=m68k-tektronix-bsd 6065212f86fSmrg ;; 6077d5e3a19Smrg *:IRIX*:*:*) 6085212f86fSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 6095212f86fSmrg GUESS=mips-sgi-irix$IRIX_REL 6105212f86fSmrg ;; 6117d5e3a19Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 6125212f86fSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 6135212f86fSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 6147d5e3a19Smrg i*86:AIX:*:*) 6155212f86fSmrg GUESS=i386-ibm-aix 6165212f86fSmrg ;; 6177d5e3a19Smrg ia64:AIX:*:*) 6185212f86fSmrg if test -x /usr/bin/oslevel ; then 6197d5e3a19Smrg IBM_REV=`/usr/bin/oslevel` 6207d5e3a19Smrg else 6215212f86fSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 6227d5e3a19Smrg fi 6235212f86fSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 6245212f86fSmrg ;; 6257d5e3a19Smrg *:AIX:2:3) 6267d5e3a19Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 6275212f86fSmrg set_cc_for_build 62813e6bc1cSmrg sed 's/^ //' << EOF > "$dummy.c" 6297d5e3a19Smrg #include <sys/systemcfg.h> 6307d5e3a19Smrg 6317d5e3a19Smrg main() 6327d5e3a19Smrg { 6337d5e3a19Smrg if (!__power_pc()) 6347d5e3a19Smrg exit(1); 6357d5e3a19Smrg puts("powerpc-ibm-aix3.2.5"); 6367d5e3a19Smrg exit(0); 6377d5e3a19Smrg } 6387d5e3a19SmrgEOF 63913e6bc1cSmrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 6407d5e3a19Smrg then 6415212f86fSmrg GUESS=$SYSTEM_NAME 6427d5e3a19Smrg else 6435212f86fSmrg GUESS=rs6000-ibm-aix3.2.5 6447d5e3a19Smrg fi 6457d5e3a19Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 6465212f86fSmrg GUESS=rs6000-ibm-aix3.2.4 6477d5e3a19Smrg else 6485212f86fSmrg GUESS=rs6000-ibm-aix3.2 6497d5e3a19Smrg fi 6505212f86fSmrg ;; 651bda5b58fSmrg *:AIX:*:[4567]) 6527d5e3a19Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 65313e6bc1cSmrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 6547d5e3a19Smrg IBM_ARCH=rs6000 6557d5e3a19Smrg else 6567d5e3a19Smrg IBM_ARCH=powerpc 6577d5e3a19Smrg fi 6585212f86fSmrg if test -x /usr/bin/lslpp ; then 6595212f86fSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 660b8414663Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 6617d5e3a19Smrg else 6625212f86fSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 6637d5e3a19Smrg fi 6645212f86fSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 6655212f86fSmrg ;; 6667d5e3a19Smrg *:AIX:*:*) 6675212f86fSmrg GUESS=rs6000-ibm-aix 6685212f86fSmrg ;; 66913e6bc1cSmrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 6705212f86fSmrg GUESS=romp-ibm-bsd4.4 6715212f86fSmrg ;; 6727d5e3a19Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 6735212f86fSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 6745212f86fSmrg ;; # report: romp-ibm BSD 4.3 6757d5e3a19Smrg *:BOSX:*:*) 6765212f86fSmrg GUESS=rs6000-bull-bosx 6775212f86fSmrg ;; 6787d5e3a19Smrg DPX/2?00:B.O.S.:*:*) 6795212f86fSmrg GUESS=m68k-bull-sysv3 6805212f86fSmrg ;; 6817d5e3a19Smrg 9000/[34]??:4.3bsd:1.*:*) 6825212f86fSmrg GUESS=m68k-hp-bsd 6835212f86fSmrg ;; 6847d5e3a19Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 6855212f86fSmrg GUESS=m68k-hp-bsd4.4 6865212f86fSmrg ;; 6877d5e3a19Smrg 9000/[34678]??:HP-UX:*:*) 6885212f86fSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 6895212f86fSmrg case $UNAME_MACHINE in 69013e6bc1cSmrg 9000/31?) HP_ARCH=m68000 ;; 69113e6bc1cSmrg 9000/[34]??) HP_ARCH=m68k ;; 6927d5e3a19Smrg 9000/[678][0-9][0-9]) 6935212f86fSmrg if test -x /usr/bin/getconf; then 6947d5e3a19Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 695b8414663Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 6965212f86fSmrg case $sc_cpu_version in 69713e6bc1cSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 69813e6bc1cSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 699b8414663Smrg 532) # CPU_PA_RISC2_0 7005212f86fSmrg case $sc_kernel_bits in 70113e6bc1cSmrg 32) HP_ARCH=hppa2.0n ;; 70213e6bc1cSmrg 64) HP_ARCH=hppa2.0w ;; 70313e6bc1cSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 704b8414663Smrg esac ;; 705b8414663Smrg esac 7067d5e3a19Smrg fi 7075212f86fSmrg if test "$HP_ARCH" = ""; then 7085212f86fSmrg set_cc_for_build 70913e6bc1cSmrg sed 's/^ //' << EOF > "$dummy.c" 7107d5e3a19Smrg 711b8414663Smrg #define _HPUX_SOURCE 712b8414663Smrg #include <stdlib.h> 713b8414663Smrg #include <unistd.h> 7147d5e3a19Smrg 715b8414663Smrg int main () 716b8414663Smrg { 717b8414663Smrg #if defined(_SC_KERNEL_BITS) 718b8414663Smrg long bits = sysconf(_SC_KERNEL_BITS); 719b8414663Smrg #endif 720b8414663Smrg long cpu = sysconf (_SC_CPU_VERSION); 7217d5e3a19Smrg 722b8414663Smrg switch (cpu) 723b8414663Smrg { 724b8414663Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 725b8414663Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 726b8414663Smrg case CPU_PA_RISC2_0: 727b8414663Smrg #if defined(_SC_KERNEL_BITS) 728b8414663Smrg switch (bits) 729b8414663Smrg { 730b8414663Smrg case 64: puts ("hppa2.0w"); break; 731b8414663Smrg case 32: puts ("hppa2.0n"); break; 732b8414663Smrg default: puts ("hppa2.0"); break; 733b8414663Smrg } break; 734b8414663Smrg #else /* !defined(_SC_KERNEL_BITS) */ 735b8414663Smrg puts ("hppa2.0"); break; 736b8414663Smrg #endif 737b8414663Smrg default: puts ("hppa1.0"); break; 738b8414663Smrg } 739b8414663Smrg exit (0); 740b8414663Smrg } 7417d5e3a19SmrgEOF 74213e6bc1cSmrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 7437d5e3a19Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 7447d5e3a19Smrg fi ;; 7457d5e3a19Smrg esac 7465212f86fSmrg if test "$HP_ARCH" = hppa2.0w 7477d5e3a19Smrg then 7485212f86fSmrg set_cc_for_build 7497d5e3a19Smrg 7507d5e3a19Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 7517d5e3a19Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 7527d5e3a19Smrg # generating 64-bit code. GNU and HP use different nomenclature: 7537d5e3a19Smrg # 7547d5e3a19Smrg # $ CC_FOR_BUILD=cc ./config.guess 7557d5e3a19Smrg # => hppa2.0w-hp-hpux11.23 7567d5e3a19Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 7577d5e3a19Smrg # => hppa64-hp-hpux11.23 7587d5e3a19Smrg 75913e6bc1cSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 760765486e8Smrg grep -q __LP64__ 7617d5e3a19Smrg then 76213e6bc1cSmrg HP_ARCH=hppa2.0w 7637d5e3a19Smrg else 76413e6bc1cSmrg HP_ARCH=hppa64 7657d5e3a19Smrg fi 7667d5e3a19Smrg fi 7675212f86fSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 7685212f86fSmrg ;; 7697d5e3a19Smrg ia64:HP-UX:*:*) 7705212f86fSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 7715212f86fSmrg GUESS=ia64-hp-hpux$HPUX_REV 7725212f86fSmrg ;; 7737d5e3a19Smrg 3050*:HI-UX:*:*) 7745212f86fSmrg set_cc_for_build 77513e6bc1cSmrg sed 's/^ //' << EOF > "$dummy.c" 7767d5e3a19Smrg #include <unistd.h> 7777d5e3a19Smrg int 7787d5e3a19Smrg main () 7797d5e3a19Smrg { 7807d5e3a19Smrg long cpu = sysconf (_SC_CPU_VERSION); 7817d5e3a19Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 7827d5e3a19Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 7837d5e3a19Smrg results, however. */ 7847d5e3a19Smrg if (CPU_IS_PA_RISC (cpu)) 7857d5e3a19Smrg { 7867d5e3a19Smrg switch (cpu) 7877d5e3a19Smrg { 7887d5e3a19Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 7897d5e3a19Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 7907d5e3a19Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 7917d5e3a19Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 7927d5e3a19Smrg } 7937d5e3a19Smrg } 7947d5e3a19Smrg else if (CPU_IS_HP_MC68K (cpu)) 7957d5e3a19Smrg puts ("m68k-hitachi-hiuxwe2"); 7967d5e3a19Smrg else puts ("unknown-hitachi-hiuxwe2"); 7977d5e3a19Smrg exit (0); 7987d5e3a19Smrg } 7997d5e3a19SmrgEOF 80013e6bc1cSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 8017d5e3a19Smrg { echo "$SYSTEM_NAME"; exit; } 8025212f86fSmrg GUESS=unknown-hitachi-hiuxwe2 8035212f86fSmrg ;; 80413e6bc1cSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 8055212f86fSmrg GUESS=hppa1.1-hp-bsd 8065212f86fSmrg ;; 8077d5e3a19Smrg 9000/8??:4.3bsd:*:*) 8085212f86fSmrg GUESS=hppa1.0-hp-bsd 8095212f86fSmrg ;; 8107d5e3a19Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 8115212f86fSmrg GUESS=hppa1.0-hp-mpeix 8125212f86fSmrg ;; 81313e6bc1cSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 8145212f86fSmrg GUESS=hppa1.1-hp-osf 8155212f86fSmrg ;; 8167d5e3a19Smrg hp8??:OSF1:*:*) 8175212f86fSmrg GUESS=hppa1.0-hp-osf 8185212f86fSmrg ;; 8197d5e3a19Smrg i*86:OSF1:*:*) 8205212f86fSmrg if test -x /usr/sbin/sysversion ; then 8215212f86fSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 8227d5e3a19Smrg else 8235212f86fSmrg GUESS=$UNAME_MACHINE-unknown-osf1 8247d5e3a19Smrg fi 8255212f86fSmrg ;; 8267d5e3a19Smrg parisc*:Lites*:*:*) 8275212f86fSmrg GUESS=hppa1.1-hp-lites 8285212f86fSmrg ;; 8297d5e3a19Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 8305212f86fSmrg GUESS=c1-convex-bsd 8315212f86fSmrg ;; 8327d5e3a19Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 8337d5e3a19Smrg if getsysinfo -f scalar_acc 8347d5e3a19Smrg then echo c32-convex-bsd 8357d5e3a19Smrg else echo c2-convex-bsd 8367d5e3a19Smrg fi 837b8414663Smrg exit ;; 8387d5e3a19Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 8395212f86fSmrg GUESS=c34-convex-bsd 8405212f86fSmrg ;; 8417d5e3a19Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 8425212f86fSmrg GUESS=c38-convex-bsd 8435212f86fSmrg ;; 8447d5e3a19Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 8455212f86fSmrg GUESS=c4-convex-bsd 8465212f86fSmrg ;; 8477d5e3a19Smrg CRAY*Y-MP:*:*:*) 8485212f86fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8495212f86fSmrg GUESS=ymp-cray-unicos$CRAY_REL 8505212f86fSmrg ;; 8517d5e3a19Smrg CRAY*[A-Z]90:*:*:*) 85213e6bc1cSmrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 8537d5e3a19Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 8547d5e3a19Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 8557d5e3a19Smrg -e 's/\.[^.]*$/.X/' 8567d5e3a19Smrg exit ;; 8577d5e3a19Smrg CRAY*TS:*:*:*) 8585212f86fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8595212f86fSmrg GUESS=t90-cray-unicos$CRAY_REL 8605212f86fSmrg ;; 8617d5e3a19Smrg CRAY*T3E:*:*:*) 8625212f86fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8635212f86fSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 8645212f86fSmrg ;; 8657d5e3a19Smrg CRAY*SV1:*:*:*) 8665212f86fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8675212f86fSmrg GUESS=sv1-cray-unicos$CRAY_REL 8685212f86fSmrg ;; 8697d5e3a19Smrg *:UNICOS/mp:*:*) 8705212f86fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8715212f86fSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 8725212f86fSmrg ;; 8737d5e3a19Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 87413e6bc1cSmrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 87513e6bc1cSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 87613e6bc1cSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 8775212f86fSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8785212f86fSmrg ;; 8797d5e3a19Smrg 5000:UNIX_System_V:4.*:*) 88013e6bc1cSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88113e6bc1cSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 8825212f86fSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8835212f86fSmrg ;; 8847d5e3a19Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 8855212f86fSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 8865212f86fSmrg ;; 8877d5e3a19Smrg sparc*:BSD/OS:*:*) 8885212f86fSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 8895212f86fSmrg ;; 8907d5e3a19Smrg *:BSD/OS:*:*) 8915212f86fSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 8925212f86fSmrg ;; 8935212f86fSmrg arm:FreeBSD:*:*) 8945212f86fSmrg UNAME_PROCESSOR=`uname -p` 8955212f86fSmrg set_cc_for_build 8965212f86fSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 8975212f86fSmrg | grep -q __ARM_PCS_VFP 8985212f86fSmrg then 8995212f86fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9005212f86fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 9015212f86fSmrg else 9025212f86fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9035212f86fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 9045212f86fSmrg fi 9055212f86fSmrg ;; 9067d5e3a19Smrg *:FreeBSD:*:*) 907b8414663Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 9085212f86fSmrg case $UNAME_PROCESSOR in 9097d5e3a19Smrg amd64) 91013e6bc1cSmrg UNAME_PROCESSOR=x86_64 ;; 91113e6bc1cSmrg i386) 91213e6bc1cSmrg UNAME_PROCESSOR=i586 ;; 9137d5e3a19Smrg esac 9145212f86fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9155212f86fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 9165212f86fSmrg ;; 9177d5e3a19Smrg i*:CYGWIN*:*) 9185212f86fSmrg GUESS=$UNAME_MACHINE-pc-cygwin 9195212f86fSmrg ;; 920b8414663Smrg *:MINGW64*:*) 9215212f86fSmrg GUESS=$UNAME_MACHINE-pc-mingw64 9225212f86fSmrg ;; 9231568b75bSmrg *:MINGW*:*) 9245212f86fSmrg GUESS=$UNAME_MACHINE-pc-mingw32 9255212f86fSmrg ;; 926b8414663Smrg *:MSYS*:*) 9275212f86fSmrg GUESS=$UNAME_MACHINE-pc-msys 9285212f86fSmrg ;; 9297d5e3a19Smrg i*:PW*:*) 9305212f86fSmrg GUESS=$UNAME_MACHINE-pc-pw32 9315212f86fSmrg ;; 9327f6d8fe2Smrg *:SerenityOS:*:*) 9337f6d8fe2Smrg GUESS=$UNAME_MACHINE-pc-serenity 9347f6d8fe2Smrg ;; 935765486e8Smrg *:Interix*:*) 9365212f86fSmrg case $UNAME_MACHINE in 9371568b75bSmrg x86) 9385212f86fSmrg GUESS=i586-pc-interix$UNAME_RELEASE 9395212f86fSmrg ;; 940765486e8Smrg authenticamd | genuineintel | EM64T) 9415212f86fSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 9425212f86fSmrg ;; 9431568b75bSmrg IA64) 9445212f86fSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 9455212f86fSmrg ;; 9461568b75bSmrg esac ;; 9477d5e3a19Smrg i*:UWIN*:*) 9485212f86fSmrg GUESS=$UNAME_MACHINE-pc-uwin 9495212f86fSmrg ;; 9507d5e3a19Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 9515212f86fSmrg GUESS=x86_64-pc-cygwin 9525212f86fSmrg ;; 9537d5e3a19Smrg prep*:SunOS:5.*:*) 9545212f86fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 9555212f86fSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 9565212f86fSmrg ;; 9577d5e3a19Smrg *:GNU:*:*) 9587d5e3a19Smrg # the GNU system 9595212f86fSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 9605212f86fSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 9615212f86fSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 9625212f86fSmrg ;; 9637d5e3a19Smrg *:GNU/*:*:*) 9647d5e3a19Smrg # other systems with GNU libc and userland 9655212f86fSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 9665212f86fSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9675212f86fSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 9685212f86fSmrg ;; 9695212f86fSmrg *:Minix:*:*) 9705212f86fSmrg GUESS=$UNAME_MACHINE-unknown-minix 9715212f86fSmrg ;; 972b8414663Smrg aarch64:Linux:*:*) 9735212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9745212f86fSmrg ;; 975b8414663Smrg aarch64_be:Linux:*:*) 976b8414663Smrg UNAME_MACHINE=aarch64_be 9775212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9785212f86fSmrg ;; 979765486e8Smrg alpha:Linux:*:*) 9805212f86fSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 981765486e8Smrg EV5) UNAME_MACHINE=alphaev5 ;; 982765486e8Smrg EV56) UNAME_MACHINE=alphaev56 ;; 983765486e8Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 984765486e8Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 985765486e8Smrg EV6) UNAME_MACHINE=alphaev6 ;; 986765486e8Smrg EV67) UNAME_MACHINE=alphaev67 ;; 987765486e8Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 988b8414663Smrg esac 989765486e8Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 99013e6bc1cSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 9915212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9925212f86fSmrg ;; 9935212f86fSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 9945212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9955212f86fSmrg ;; 9967d5e3a19Smrg arm*:Linux:*:*) 9975212f86fSmrg set_cc_for_build 9981568b75bSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 9991568b75bSmrg | grep -q __ARM_EABI__ 10001568b75bSmrg then 10015212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10021568b75bSmrg else 1003b8414663Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1004b8414663Smrg | grep -q __ARM_PCS_VFP 1005b8414663Smrg then 10065212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1007b8414663Smrg else 10085212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1009b8414663Smrg fi 10101568b75bSmrg fi 10115212f86fSmrg ;; 10127d5e3a19Smrg avr32*:Linux:*:*) 10135212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10145212f86fSmrg ;; 10157d5e3a19Smrg cris:Linux:*:*) 10165212f86fSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10175212f86fSmrg ;; 10187d5e3a19Smrg crisv32:Linux:*:*) 10195212f86fSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10205212f86fSmrg ;; 102113e6bc1cSmrg e2k:Linux:*:*) 10225212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10235212f86fSmrg ;; 10247d5e3a19Smrg frv:Linux:*:*) 10255212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10265212f86fSmrg ;; 1027b8414663Smrg hexagon:Linux:*:*) 10285212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10295212f86fSmrg ;; 1030765486e8Smrg i*86:Linux:*:*) 10315212f86fSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 10325212f86fSmrg ;; 10337d5e3a19Smrg ia64:Linux:*:*) 10345212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10355212f86fSmrg ;; 103613e6bc1cSmrg k1om:Linux:*:*) 10375212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10385212f86fSmrg ;; 10395212f86fSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) 10405212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10415212f86fSmrg ;; 10427d5e3a19Smrg m32r*:Linux:*:*) 10435212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10445212f86fSmrg ;; 10457d5e3a19Smrg m68*:Linux:*:*) 10465212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10475212f86fSmrg ;; 1048765486e8Smrg mips:Linux:*:* | mips64:Linux:*:*) 10495212f86fSmrg set_cc_for_build 10505212f86fSmrg IS_GLIBC=0 10515212f86fSmrg test x"${LIBC}" = xgnu && IS_GLIBC=1 105213e6bc1cSmrg sed 's/^ //' << EOF > "$dummy.c" 10537d5e3a19Smrg #undef CPU 10545212f86fSmrg #undef mips 10555212f86fSmrg #undef mipsel 10565212f86fSmrg #undef mips64 10575212f86fSmrg #undef mips64el 10585212f86fSmrg #if ${IS_GLIBC} && defined(_ABI64) 10595212f86fSmrg LIBCABI=gnuabi64 10605212f86fSmrg #else 10615212f86fSmrg #if ${IS_GLIBC} && defined(_ABIN32) 10625212f86fSmrg LIBCABI=gnuabin32 10635212f86fSmrg #else 10645212f86fSmrg LIBCABI=${LIBC} 10655212f86fSmrg #endif 10665212f86fSmrg #endif 10675212f86fSmrg 10685212f86fSmrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 10695212f86fSmrg CPU=mipsisa64r6 10705212f86fSmrg #else 10715212f86fSmrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 10725212f86fSmrg CPU=mipsisa32r6 10735212f86fSmrg #else 10745212f86fSmrg #if defined(__mips64) 10755212f86fSmrg CPU=mips64 10765212f86fSmrg #else 10775212f86fSmrg CPU=mips 10785212f86fSmrg #endif 10795212f86fSmrg #endif 10805212f86fSmrg #endif 10815212f86fSmrg 10827d5e3a19Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 10835212f86fSmrg MIPS_ENDIAN=el 10847d5e3a19Smrg #else 10857d5e3a19Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 10865212f86fSmrg MIPS_ENDIAN= 10877d5e3a19Smrg #else 10885212f86fSmrg MIPS_ENDIAN= 10897d5e3a19Smrg #endif 10907d5e3a19Smrg #endif 10917d5e3a19SmrgEOF 10925212f86fSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 10935212f86fSmrg eval "$cc_set_vars" 10945212f86fSmrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 10957d5e3a19Smrg ;; 109613e6bc1cSmrg mips64el:Linux:*:*) 10975212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10985212f86fSmrg ;; 1099b8414663Smrg openrisc*:Linux:*:*) 11005212f86fSmrg GUESS=or1k-unknown-linux-$LIBC 11015212f86fSmrg ;; 1102b8414663Smrg or32:Linux:*:* | or1k*:Linux:*:*) 11035212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11045212f86fSmrg ;; 1105765486e8Smrg padre:Linux:*:*) 11065212f86fSmrg GUESS=sparc-unknown-linux-$LIBC 11075212f86fSmrg ;; 1108765486e8Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 11095212f86fSmrg GUESS=hppa64-unknown-linux-$LIBC 11105212f86fSmrg ;; 11117d5e3a19Smrg parisc:Linux:*:* | hppa:Linux:*:*) 11127d5e3a19Smrg # Look for CPU level 11137d5e3a19Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 11145212f86fSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 11155212f86fSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 11165212f86fSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 11177d5e3a19Smrg esac 11185212f86fSmrg ;; 1119765486e8Smrg ppc64:Linux:*:*) 11205212f86fSmrg GUESS=powerpc64-unknown-linux-$LIBC 11215212f86fSmrg ;; 1122765486e8Smrg ppc:Linux:*:*) 11235212f86fSmrg GUESS=powerpc-unknown-linux-$LIBC 11245212f86fSmrg ;; 1125b8414663Smrg ppc64le:Linux:*:*) 11265212f86fSmrg GUESS=powerpc64le-unknown-linux-$LIBC 11275212f86fSmrg ;; 1128b8414663Smrg ppcle:Linux:*:*) 11295212f86fSmrg GUESS=powerpcle-unknown-linux-$LIBC 11305212f86fSmrg ;; 11315212f86fSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 11325212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11335212f86fSmrg ;; 11347d5e3a19Smrg s390:Linux:*:* | s390x:Linux:*:*) 11355212f86fSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 11365212f86fSmrg ;; 11377d5e3a19Smrg sh64*:Linux:*:*) 11385212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11395212f86fSmrg ;; 11407d5e3a19Smrg sh*:Linux:*:*) 11415212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11425212f86fSmrg ;; 11437d5e3a19Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 11445212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11455212f86fSmrg ;; 1146bda5b58fSmrg tile*:Linux:*:*) 11475212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11485212f86fSmrg ;; 11497d5e3a19Smrg vax:Linux:*:*) 11505212f86fSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 11515212f86fSmrg ;; 11527d5e3a19Smrg x86_64:Linux:*:*) 11535212f86fSmrg set_cc_for_build 11547f6d8fe2Smrg CPU=$UNAME_MACHINE 11555212f86fSmrg LIBCABI=$LIBC 11565212f86fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 11577f6d8fe2Smrg ABI=64 11587f6d8fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 11597f6d8fe2Smrg #ifdef __i386__ 11607f6d8fe2Smrg ABI=x86 11617f6d8fe2Smrg #else 11627f6d8fe2Smrg #ifdef __ILP32__ 11637f6d8fe2Smrg ABI=x32 11647f6d8fe2Smrg #endif 11657f6d8fe2Smrg #endif 11667f6d8fe2SmrgEOF 11677f6d8fe2Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 11687f6d8fe2Smrg eval "$cc_set_abi" 11697f6d8fe2Smrg case $ABI in 11707f6d8fe2Smrg x86) CPU=i686 ;; 11717f6d8fe2Smrg x32) LIBCABI=${LIBC}x32 ;; 11727f6d8fe2Smrg esac 11735212f86fSmrg fi 11747f6d8fe2Smrg GUESS=$CPU-pc-linux-$LIBCABI 11755212f86fSmrg ;; 11761568b75bSmrg xtensa*:Linux:*:*) 11775212f86fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11785212f86fSmrg ;; 11797d5e3a19Smrg i*86:DYNIX/ptx:4*:*) 11807d5e3a19Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 11817d5e3a19Smrg # earlier versions are messed up and put the nodename in both 11827d5e3a19Smrg # sysname and nodename. 11835212f86fSmrg GUESS=i386-sequent-sysv4 11845212f86fSmrg ;; 11857d5e3a19Smrg i*86:UNIX_SV:4.2MP:2.*) 1186b8414663Smrg # Unixware is an offshoot of SVR4, but it has its own version 1187b8414663Smrg # number series starting with 2... 1188b8414663Smrg # I am not positive that other SVR4 systems won't match this, 11897d5e3a19Smrg # I just have to hope. -- rms. 1190b8414663Smrg # Use sysv4.2uw... so that sysv4* matches it. 11915212f86fSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 11925212f86fSmrg ;; 11937d5e3a19Smrg i*86:OS/2:*:*) 11947d5e3a19Smrg # If we were able to find `uname', then EMX Unix compatibility 11957d5e3a19Smrg # is probably installed. 11965212f86fSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 11975212f86fSmrg ;; 11987d5e3a19Smrg i*86:XTS-300:*:STOP) 11995212f86fSmrg GUESS=$UNAME_MACHINE-unknown-stop 12005212f86fSmrg ;; 12017d5e3a19Smrg i*86:atheos:*:*) 12025212f86fSmrg GUESS=$UNAME_MACHINE-unknown-atheos 12035212f86fSmrg ;; 12047d5e3a19Smrg i*86:syllable:*:*) 12055212f86fSmrg GUESS=$UNAME_MACHINE-pc-syllable 12065212f86fSmrg ;; 1207765486e8Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 12085212f86fSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 12095212f86fSmrg ;; 12107d5e3a19Smrg i*86:*DOS:*:*) 12115212f86fSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 12125212f86fSmrg ;; 121313e6bc1cSmrg i*86:*:4.*:*) 121413e6bc1cSmrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 12157d5e3a19Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 12165212f86fSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 12177d5e3a19Smrg else 12185212f86fSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 12197d5e3a19Smrg fi 12205212f86fSmrg ;; 12217d5e3a19Smrg i*86:*:5:[678]*) 1222b8414663Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 12237d5e3a19Smrg case `/bin/uname -X | grep "^Machine"` in 12247d5e3a19Smrg *486*) UNAME_MACHINE=i486 ;; 12257d5e3a19Smrg *Pentium) UNAME_MACHINE=i586 ;; 12267d5e3a19Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 12277d5e3a19Smrg esac 12285212f86fSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 12295212f86fSmrg ;; 12307d5e3a19Smrg i*86:*:3.2:*) 12317d5e3a19Smrg if test -f /usr/options/cb.name; then 12327d5e3a19Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 12335212f86fSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 12347d5e3a19Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 12357d5e3a19Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 12367d5e3a19Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 12377d5e3a19Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 12387d5e3a19Smrg && UNAME_MACHINE=i586 12397d5e3a19Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 12407d5e3a19Smrg && UNAME_MACHINE=i686 12417d5e3a19Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 12427d5e3a19Smrg && UNAME_MACHINE=i686 12435212f86fSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 12447d5e3a19Smrg else 12455212f86fSmrg GUESS=$UNAME_MACHINE-pc-sysv32 12467d5e3a19Smrg fi 12475212f86fSmrg ;; 12487d5e3a19Smrg pc:*:*:*) 12497d5e3a19Smrg # Left here for compatibility: 1250b8414663Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1251b8414663Smrg # the processor, so we play safe by assuming i586. 1252765486e8Smrg # Note: whatever this is, it MUST be the same as what config.sub 125313e6bc1cSmrg # prints for the "djgpp" host, or else GDB configure will decide that 1254765486e8Smrg # this is a cross-build. 12555212f86fSmrg GUESS=i586-pc-msdosdjgpp 12565212f86fSmrg ;; 12577d5e3a19Smrg Intel:Mach:3*:*) 12585212f86fSmrg GUESS=i386-pc-mach3 12595212f86fSmrg ;; 12607d5e3a19Smrg paragon:*:*:*) 12615212f86fSmrg GUESS=i860-intel-osf1 12625212f86fSmrg ;; 12637d5e3a19Smrg i860:*:4.*:*) # i860-SVR4 12647d5e3a19Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 12655212f86fSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 12667d5e3a19Smrg else # Add other i860-SVR4 vendors below as they are discovered. 12675212f86fSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 12687d5e3a19Smrg fi 12695212f86fSmrg ;; 12707d5e3a19Smrg mini*:CTIX:SYS*5:*) 12717d5e3a19Smrg # "miniframe" 12725212f86fSmrg GUESS=m68010-convergent-sysv 12735212f86fSmrg ;; 12747d5e3a19Smrg mc68k:UNIX:SYSTEM5:3.51m) 12755212f86fSmrg GUESS=m68k-convergent-sysv 12765212f86fSmrg ;; 12777d5e3a19Smrg M680?0:D-NIX:5.3:*) 12785212f86fSmrg GUESS=m68k-diab-dnix 12795212f86fSmrg ;; 12807d5e3a19Smrg M68*:*:R3V[5678]*:*) 12817d5e3a19Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 12827d5e3a19Smrg 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) 12837d5e3a19Smrg OS_REL='' 12847d5e3a19Smrg test -r /etc/.relid \ 12857d5e3a19Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 12867d5e3a19Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 128713e6bc1cSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 12887d5e3a19Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 128913e6bc1cSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 12907d5e3a19Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1291b8414663Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1292b8414663Smrg && { echo i486-ncr-sysv4; exit; } ;; 1293765486e8Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1294765486e8Smrg OS_REL='.3' 1295765486e8Smrg test -r /etc/.relid \ 1296765486e8Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1297765486e8Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 129813e6bc1cSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1299765486e8Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 130013e6bc1cSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1301765486e8Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 130213e6bc1cSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 13037d5e3a19Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 13045212f86fSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 13055212f86fSmrg ;; 13067d5e3a19Smrg mc68030:UNIX_System_V:4.*:*) 13075212f86fSmrg GUESS=m68k-atari-sysv4 13085212f86fSmrg ;; 13097d5e3a19Smrg TSUNAMI:LynxOS:2.*:*) 13105212f86fSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 13115212f86fSmrg ;; 13127d5e3a19Smrg rs6000:LynxOS:2.*:*) 13135212f86fSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 13145212f86fSmrg ;; 1315765486e8Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 13165212f86fSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 13175212f86fSmrg ;; 13187d5e3a19Smrg SM[BE]S:UNIX_SV:*:*) 13195212f86fSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 13205212f86fSmrg ;; 13217d5e3a19Smrg RM*:ReliantUNIX-*:*:*) 13225212f86fSmrg GUESS=mips-sni-sysv4 13235212f86fSmrg ;; 13247d5e3a19Smrg RM*:SINIX-*:*:*) 13255212f86fSmrg GUESS=mips-sni-sysv4 13265212f86fSmrg ;; 13277d5e3a19Smrg *:SINIX-*:*:*) 13287d5e3a19Smrg if uname -p 2>/dev/null >/dev/null ; then 13297d5e3a19Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 13305212f86fSmrg GUESS=$UNAME_MACHINE-sni-sysv4 13317d5e3a19Smrg else 13325212f86fSmrg GUESS=ns32k-sni-sysv 13337d5e3a19Smrg fi 13345212f86fSmrg ;; 1335b8414663Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1336b8414663Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 13375212f86fSmrg GUESS=i586-unisys-sysv4 13385212f86fSmrg ;; 13397d5e3a19Smrg *:UNIX_System_V:4*:FTX*) 13407d5e3a19Smrg # From Gerald Hewes <hewes@openmarket.com>. 13417d5e3a19Smrg # How about differentiating between stratus architectures? -djm 13425212f86fSmrg GUESS=hppa1.1-stratus-sysv4 13435212f86fSmrg ;; 13447d5e3a19Smrg *:*:*:FTX*) 13457d5e3a19Smrg # From seanf@swdc.stratus.com. 13465212f86fSmrg GUESS=i860-stratus-sysv4 13475212f86fSmrg ;; 13487d5e3a19Smrg i*86:VOS:*:*) 13497d5e3a19Smrg # From Paul.Green@stratus.com. 13505212f86fSmrg GUESS=$UNAME_MACHINE-stratus-vos 13515212f86fSmrg ;; 13527d5e3a19Smrg *:VOS:*:*) 13537d5e3a19Smrg # From Paul.Green@stratus.com. 13545212f86fSmrg GUESS=hppa1.1-stratus-vos 13555212f86fSmrg ;; 13567d5e3a19Smrg mc68*:A/UX:*:*) 13575212f86fSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 13585212f86fSmrg ;; 13597d5e3a19Smrg news*:NEWS-OS:6*:*) 13605212f86fSmrg GUESS=mips-sony-newsos6 13615212f86fSmrg ;; 13627d5e3a19Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 13635212f86fSmrg if test -d /usr/nec; then 13645212f86fSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 13657d5e3a19Smrg else 13665212f86fSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 13677d5e3a19Smrg fi 13685212f86fSmrg ;; 13697d5e3a19Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 13705212f86fSmrg GUESS=powerpc-be-beos 13715212f86fSmrg ;; 13727d5e3a19Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 13735212f86fSmrg GUESS=powerpc-apple-beos 13745212f86fSmrg ;; 13757d5e3a19Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 13765212f86fSmrg GUESS=i586-pc-beos 13775212f86fSmrg ;; 1378765486e8Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 13795212f86fSmrg GUESS=i586-pc-haiku 13805212f86fSmrg ;; 13817f6d8fe2Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 13827f6d8fe2Smrg GUESS=powerpc-apple-haiku 13837f6d8fe2Smrg ;; 13847f6d8fe2Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 13857f6d8fe2Smrg GUESS=$UNAME_MACHINE-unknown-haiku 13865212f86fSmrg ;; 13877d5e3a19Smrg SX-4:SUPER-UX:*:*) 13885212f86fSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 13895212f86fSmrg ;; 13907d5e3a19Smrg SX-5:SUPER-UX:*:*) 13915212f86fSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 13925212f86fSmrg ;; 13937d5e3a19Smrg SX-6:SUPER-UX:*:*) 13945212f86fSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 13955212f86fSmrg ;; 13961568b75bSmrg SX-7:SUPER-UX:*:*) 13975212f86fSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 13985212f86fSmrg ;; 13991568b75bSmrg SX-8:SUPER-UX:*:*) 14005212f86fSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 14015212f86fSmrg ;; 14021568b75bSmrg SX-8R:SUPER-UX:*:*) 14035212f86fSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 14045212f86fSmrg ;; 140513e6bc1cSmrg SX-ACE:SUPER-UX:*:*) 14065212f86fSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 14075212f86fSmrg ;; 14087d5e3a19Smrg Power*:Rhapsody:*:*) 14095212f86fSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 14105212f86fSmrg ;; 14117d5e3a19Smrg *:Rhapsody:*:*) 14125212f86fSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 14135212f86fSmrg ;; 14145212f86fSmrg arm64:Darwin:*:*) 14155212f86fSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 14165212f86fSmrg ;; 14177d5e3a19Smrg *:Darwin:*:*) 14185212f86fSmrg UNAME_PROCESSOR=`uname -p` 14195212f86fSmrg case $UNAME_PROCESSOR in 14205212f86fSmrg unknown) UNAME_PROCESSOR=powerpc ;; 14215212f86fSmrg esac 14225212f86fSmrg if command -v xcode-select > /dev/null 2> /dev/null && \ 14235212f86fSmrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 14245212f86fSmrg # Avoid executing cc if there is no toolchain installed as 14255212f86fSmrg # cc will be a stub that puts up a graphical alert 14265212f86fSmrg # prompting the user to install developer tools. 14275212f86fSmrg CC_FOR_BUILD=no_compiler_found 14285212f86fSmrg else 14295212f86fSmrg set_cc_for_build 1430b8414663Smrg fi 14315212f86fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 14325212f86fSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 14335212f86fSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 14345212f86fSmrg grep IS_64BIT_ARCH >/dev/null 14355212f86fSmrg then 14365212f86fSmrg case $UNAME_PROCESSOR in 14375212f86fSmrg i386) UNAME_PROCESSOR=x86_64 ;; 14385212f86fSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 14395212f86fSmrg esac 14405212f86fSmrg fi 14415212f86fSmrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 14425212f86fSmrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 14435212f86fSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 14445212f86fSmrg grep IS_PPC >/dev/null 14455212f86fSmrg then 14465212f86fSmrg UNAME_PROCESSOR=powerpc 1447b8414663Smrg fi 1448b8414663Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 14495212f86fSmrg # uname -m returns i386 or x86_64 14505212f86fSmrg UNAME_PROCESSOR=$UNAME_MACHINE 1451b8414663Smrg fi 14525212f86fSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 14535212f86fSmrg ;; 14547d5e3a19Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 14557d5e3a19Smrg UNAME_PROCESSOR=`uname -p` 145613e6bc1cSmrg if test "$UNAME_PROCESSOR" = x86; then 14577d5e3a19Smrg UNAME_PROCESSOR=i386 14587d5e3a19Smrg UNAME_MACHINE=pc 14597d5e3a19Smrg fi 14605212f86fSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 14615212f86fSmrg ;; 14627d5e3a19Smrg *:QNX:*:4*) 14635212f86fSmrg GUESS=i386-pc-qnx 14645212f86fSmrg ;; 146513e6bc1cSmrg NEO-*:NONSTOP_KERNEL:*:*) 14665212f86fSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 14675212f86fSmrg ;; 1468b8414663Smrg NSE-*:NONSTOP_KERNEL:*:*) 14695212f86fSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 14705212f86fSmrg ;; 147113e6bc1cSmrg NSR-*:NONSTOP_KERNEL:*:*) 14725212f86fSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 14735212f86fSmrg ;; 147413e6bc1cSmrg NSV-*:NONSTOP_KERNEL:*:*) 14755212f86fSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 14765212f86fSmrg ;; 147713e6bc1cSmrg NSX-*:NONSTOP_KERNEL:*:*) 14785212f86fSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 14795212f86fSmrg ;; 14807d5e3a19Smrg *:NonStop-UX:*:*) 14815212f86fSmrg GUESS=mips-compaq-nonstopux 14825212f86fSmrg ;; 14837d5e3a19Smrg BS2000:POSIX*:*:*) 14845212f86fSmrg GUESS=bs2000-siemens-sysv 14855212f86fSmrg ;; 14867d5e3a19Smrg DS/*:UNIX_System_V:*:*) 14875212f86fSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 14885212f86fSmrg ;; 14897d5e3a19Smrg *:Plan9:*:*) 14907d5e3a19Smrg # "uname -m" is not consistent, so use $cputype instead. 386 14917d5e3a19Smrg # is converted to i386 for consistency with other x86 14927d5e3a19Smrg # operating systems. 14935212f86fSmrg if test "${cputype-}" = 386; then 14947d5e3a19Smrg UNAME_MACHINE=i386 14955212f86fSmrg elif test "x${cputype-}" != x; then 14965212f86fSmrg UNAME_MACHINE=$cputype 14977d5e3a19Smrg fi 14985212f86fSmrg GUESS=$UNAME_MACHINE-unknown-plan9 14995212f86fSmrg ;; 15007d5e3a19Smrg *:TOPS-10:*:*) 15015212f86fSmrg GUESS=pdp10-unknown-tops10 15025212f86fSmrg ;; 15037d5e3a19Smrg *:TENEX:*:*) 15045212f86fSmrg GUESS=pdp10-unknown-tenex 15055212f86fSmrg ;; 15067d5e3a19Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 15075212f86fSmrg GUESS=pdp10-dec-tops20 15085212f86fSmrg ;; 15097d5e3a19Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 15105212f86fSmrg GUESS=pdp10-xkl-tops20 15115212f86fSmrg ;; 15127d5e3a19Smrg *:TOPS-20:*:*) 15135212f86fSmrg GUESS=pdp10-unknown-tops20 15145212f86fSmrg ;; 15157d5e3a19Smrg *:ITS:*:*) 15165212f86fSmrg GUESS=pdp10-unknown-its 15175212f86fSmrg ;; 15187d5e3a19Smrg SEI:*:*:SEIUX) 15195212f86fSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 15205212f86fSmrg ;; 15217d5e3a19Smrg *:DragonFly:*:*) 15225212f86fSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 15235212f86fSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 15245212f86fSmrg ;; 15257d5e3a19Smrg *:*VMS:*:*) 1526b8414663Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 15275212f86fSmrg case $UNAME_MACHINE in 15285212f86fSmrg A*) GUESS=alpha-dec-vms ;; 15295212f86fSmrg I*) GUESS=ia64-dec-vms ;; 15305212f86fSmrg V*) GUESS=vax-dec-vms ;; 15317d5e3a19Smrg esac ;; 15327d5e3a19Smrg *:XENIX:*:SysV) 15335212f86fSmrg GUESS=i386-pc-xenix 15345212f86fSmrg ;; 15357d5e3a19Smrg i*86:skyos:*:*) 15365212f86fSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 15375212f86fSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 15385212f86fSmrg ;; 15397d5e3a19Smrg i*86:rdos:*:*) 15405212f86fSmrg GUESS=$UNAME_MACHINE-pc-rdos 15415212f86fSmrg ;; 15427f6d8fe2Smrg i*86:Fiwix:*:*) 15437f6d8fe2Smrg GUESS=$UNAME_MACHINE-pc-fiwix 15447f6d8fe2Smrg ;; 15455212f86fSmrg *:AROS:*:*) 15465212f86fSmrg GUESS=$UNAME_MACHINE-unknown-aros 15475212f86fSmrg ;; 1548b8414663Smrg x86_64:VMkernel:*:*) 15495212f86fSmrg GUESS=$UNAME_MACHINE-unknown-esx 15505212f86fSmrg ;; 155113e6bc1cSmrg amd64:Isilon\ OneFS:*:*) 15525212f86fSmrg GUESS=x86_64-unknown-onefs 15535212f86fSmrg ;; 15545212f86fSmrg *:Unleashed:*:*) 15555212f86fSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 15565212f86fSmrg ;; 1557b8414663Smrgesac 15587d5e3a19Smrg 15595212f86fSmrg# Do we have a guess based on uname results? 15605212f86fSmrgif test "x$GUESS" != x; then 15615212f86fSmrg echo "$GUESS" 15625212f86fSmrg exit 15635212f86fSmrgfi 15645212f86fSmrg 15655212f86fSmrg# No uname command or uname output not recognized. 15665212f86fSmrgset_cc_for_build 15675212f86fSmrgcat > "$dummy.c" <<EOF 15685212f86fSmrg#ifdef _SEQUENT_ 15695212f86fSmrg#include <sys/types.h> 15705212f86fSmrg#include <sys/utsname.h> 15715212f86fSmrg#endif 15725212f86fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 15735212f86fSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 15745212f86fSmrg#include <signal.h> 15755212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 15765212f86fSmrg#include <sys/utsname.h> 15775212f86fSmrg#endif 15785212f86fSmrg#endif 15795212f86fSmrg#endif 15805212f86fSmrgmain () 15815212f86fSmrg{ 15825212f86fSmrg#if defined (sony) 15835212f86fSmrg#if defined (MIPSEB) 15845212f86fSmrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 15855212f86fSmrg I don't know.... */ 15865212f86fSmrg printf ("mips-sony-bsd\n"); exit (0); 15875212f86fSmrg#else 15885212f86fSmrg#include <sys/param.h> 15895212f86fSmrg printf ("m68k-sony-newsos%s\n", 15905212f86fSmrg#ifdef NEWSOS4 15915212f86fSmrg "4" 15925212f86fSmrg#else 15935212f86fSmrg "" 15945212f86fSmrg#endif 15955212f86fSmrg ); exit (0); 15965212f86fSmrg#endif 15975212f86fSmrg#endif 15985212f86fSmrg 15995212f86fSmrg#if defined (NeXT) 16005212f86fSmrg#if !defined (__ARCHITECTURE__) 16015212f86fSmrg#define __ARCHITECTURE__ "m68k" 16025212f86fSmrg#endif 16035212f86fSmrg int version; 16045212f86fSmrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 16055212f86fSmrg if (version < 4) 16065212f86fSmrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 16075212f86fSmrg else 16085212f86fSmrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 16095212f86fSmrg exit (0); 16105212f86fSmrg#endif 16115212f86fSmrg 16125212f86fSmrg#if defined (MULTIMAX) || defined (n16) 16135212f86fSmrg#if defined (UMAXV) 16145212f86fSmrg printf ("ns32k-encore-sysv\n"); exit (0); 16155212f86fSmrg#else 16165212f86fSmrg#if defined (CMU) 16175212f86fSmrg printf ("ns32k-encore-mach\n"); exit (0); 16185212f86fSmrg#else 16195212f86fSmrg printf ("ns32k-encore-bsd\n"); exit (0); 16205212f86fSmrg#endif 16215212f86fSmrg#endif 16225212f86fSmrg#endif 16235212f86fSmrg 16245212f86fSmrg#if defined (__386BSD__) 16255212f86fSmrg printf ("i386-pc-bsd\n"); exit (0); 16265212f86fSmrg#endif 16275212f86fSmrg 16285212f86fSmrg#if defined (sequent) 16295212f86fSmrg#if defined (i386) 16305212f86fSmrg printf ("i386-sequent-dynix\n"); exit (0); 16315212f86fSmrg#endif 16325212f86fSmrg#if defined (ns32000) 16335212f86fSmrg printf ("ns32k-sequent-dynix\n"); exit (0); 16345212f86fSmrg#endif 16355212f86fSmrg#endif 16365212f86fSmrg 16375212f86fSmrg#if defined (_SEQUENT_) 16385212f86fSmrg struct utsname un; 16395212f86fSmrg 16405212f86fSmrg uname(&un); 16415212f86fSmrg if (strncmp(un.version, "V2", 2) == 0) { 16425212f86fSmrg printf ("i386-sequent-ptx2\n"); exit (0); 16435212f86fSmrg } 16445212f86fSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 16455212f86fSmrg printf ("i386-sequent-ptx1\n"); exit (0); 16465212f86fSmrg } 16475212f86fSmrg printf ("i386-sequent-ptx\n"); exit (0); 16485212f86fSmrg#endif 16495212f86fSmrg 16505212f86fSmrg#if defined (vax) 16515212f86fSmrg#if !defined (ultrix) 16525212f86fSmrg#include <sys/param.h> 16535212f86fSmrg#if defined (BSD) 16545212f86fSmrg#if BSD == 43 16555212f86fSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 16565212f86fSmrg#else 16575212f86fSmrg#if BSD == 199006 16585212f86fSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 16595212f86fSmrg#else 16605212f86fSmrg printf ("vax-dec-bsd\n"); exit (0); 16615212f86fSmrg#endif 16625212f86fSmrg#endif 16635212f86fSmrg#else 16645212f86fSmrg printf ("vax-dec-bsd\n"); exit (0); 16655212f86fSmrg#endif 16665212f86fSmrg#else 16675212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 16685212f86fSmrg struct utsname un; 16695212f86fSmrg uname (&un); 16705212f86fSmrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 16715212f86fSmrg#else 16725212f86fSmrg printf ("vax-dec-ultrix\n"); exit (0); 16735212f86fSmrg#endif 16745212f86fSmrg#endif 16755212f86fSmrg#endif 16765212f86fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 16775212f86fSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 16785212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 16795212f86fSmrg struct utsname *un; 16805212f86fSmrg uname (&un); 16815212f86fSmrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 16825212f86fSmrg#else 16835212f86fSmrg printf ("mips-dec-ultrix\n"); exit (0); 16845212f86fSmrg#endif 16855212f86fSmrg#endif 16865212f86fSmrg#endif 16875212f86fSmrg 16885212f86fSmrg#if defined (alliant) && defined (i860) 16895212f86fSmrg printf ("i860-alliant-bsd\n"); exit (0); 16905212f86fSmrg#endif 16915212f86fSmrg 16925212f86fSmrg exit (1); 16935212f86fSmrg} 16945212f86fSmrgEOF 16955212f86fSmrg 16965212f86fSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 16975212f86fSmrg { echo "$SYSTEM_NAME"; exit; } 16985212f86fSmrg 16995212f86fSmrg# Apollos put the system type in the environment. 17005212f86fSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 17015212f86fSmrg 170213e6bc1cSmrgecho "$0: unable to guess system type" >&2 170313e6bc1cSmrg 17045212f86fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 170513e6bc1cSmrg mips:Linux | mips64:Linux) 170613e6bc1cSmrg # If we got here on MIPS GNU/Linux, output extra information. 170713e6bc1cSmrg cat >&2 <<EOF 170813e6bc1cSmrg 170913e6bc1cSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 171013e6bc1cSmrgthe system type. Please install a C compiler and try again. 171113e6bc1cSmrgEOF 171213e6bc1cSmrg ;; 171313e6bc1cSmrgesac 171413e6bc1cSmrg 17157d5e3a19Smrgcat >&2 <<EOF 17167d5e3a19Smrg 171713e6bc1cSmrgThis script (version $timestamp), has failed to recognize the 171813e6bc1cSmrgoperating system you are using. If your script is old, overwrite *all* 171913e6bc1cSmrgcopies of config.guess and config.sub with the latest versions from: 17207d5e3a19Smrg 17215212f86fSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 17227d5e3a19Smrgand 17235212f86fSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 17245212f86fSmrgEOF 17255212f86fSmrg 17265212f86fSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 17275212f86fSmrgthisyear=`date +%Y` 17285212f86fSmrg# shellcheck disable=SC2003 17295212f86fSmrgscript_age=`expr "$thisyear" - "$our_year"` 17305212f86fSmrgif test "$script_age" -lt 3 ; then 17315212f86fSmrg cat >&2 <<EOF 17327d5e3a19Smrg 173313e6bc1cSmrgIf $0 has already been updated, send the following data and any 173413e6bc1cSmrginformation you think might be pertinent to config-patches@gnu.org to 173513e6bc1cSmrgprovide the necessary information to handle your system. 17367d5e3a19Smrg 17377d5e3a19Smrgconfig.guess timestamp = $timestamp 17387d5e3a19Smrg 17397d5e3a19Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 17407d5e3a19Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 17417d5e3a19Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 17427d5e3a19Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 17437d5e3a19Smrg 17447d5e3a19Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 17457d5e3a19Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 17467d5e3a19Smrg 17477d5e3a19Smrghostinfo = `(hostinfo) 2>/dev/null` 17487d5e3a19Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 17497d5e3a19Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 17507d5e3a19Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 17517d5e3a19Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 17527d5e3a19Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 17537d5e3a19Smrg 175413e6bc1cSmrgUNAME_MACHINE = "$UNAME_MACHINE" 175513e6bc1cSmrgUNAME_RELEASE = "$UNAME_RELEASE" 175613e6bc1cSmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 175713e6bc1cSmrgUNAME_VERSION = "$UNAME_VERSION" 17587d5e3a19SmrgEOF 17595212f86fSmrgfi 17607d5e3a19Smrg 17617d5e3a19Smrgexit 1 17627d5e3a19Smrg 17637d5e3a19Smrg# Local variables: 17645212f86fSmrg# eval: (add-hook 'before-save-hook 'time-stamp) 17657d5e3a19Smrg# time-stamp-start: "timestamp='" 17667d5e3a19Smrg# time-stamp-format: "%:y-%02m-%02d" 17677d5e3a19Smrg# time-stamp-end: "'" 17687d5e3a19Smrg# End: 1769