config.guess revision 03ea5dc6
11ab64890Smrg#! /bin/sh 21ab64890Smrg# Attempt to guess a canonical system name. 303ea5dc6Smrg# Copyright 1992-2020 Free Software Foundation, Inc. 41ab64890Smrg 503ea5dc6Smrgtimestamp='2020-11-07' 61ab64890Smrg 71ab64890Smrg# This file is free software; you can redistribute it and/or modify it 81ab64890Smrg# under the terms of the GNU General Public License as published by 9eb411b4bSmrg# the Free Software Foundation; either version 3 of the License, or 101ab64890Smrg# (at your option) any later version. 111ab64890Smrg# 121ab64890Smrg# This program is distributed in the hope that it will be useful, but 131ab64890Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 141ab64890Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 151ab64890Smrg# General Public License for more details. 161ab64890Smrg# 171ab64890Smrg# You should have received a copy of the GNU General Public License 185afda2e6Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 191ab64890Smrg# 201ab64890Smrg# As a special exception to the GNU General Public License, if you 211ab64890Smrg# distribute this file as part of a program that contains a 221ab64890Smrg# configuration script generated by Autoconf, you may include it under 23eb411b4bSmrg# the same distribution terms that you use for the rest of that 24eb411b4bSmrg# program. This Exception is an additional permission under section 7 25eb411b4bSmrg# of the GNU General Public License, version 3 ("GPLv3"). 261ab64890Smrg# 27862bcd1aSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 281ab64890Smrg# 2988de56ccSmrg# You can get the latest version of this script from: 305afda2e6Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 31eb411b4bSmrg# 32862bcd1aSmrg# Please send patches to <config-patches@gnu.org>. 33eb411b4bSmrg 341ab64890Smrg 3503ea5dc6Smrgme=$(echo "$0" | sed -e 's,.*/,,') 361ab64890Smrg 371ab64890Smrgusage="\ 381ab64890SmrgUsage: $0 [OPTION] 391ab64890Smrg 401ab64890SmrgOutput the configuration name of the system \`$me' is run on. 411ab64890Smrg 425afda2e6SmrgOptions: 431ab64890Smrg -h, --help print this help, then exit 441ab64890Smrg -t, --time-stamp print date of last modification, then exit 451ab64890Smrg -v, --version print version number, then exit 461ab64890Smrg 471ab64890SmrgReport bugs and patches to <config-patches@gnu.org>." 481ab64890Smrg 491ab64890Smrgversion="\ 501ab64890SmrgGNU config.guess ($timestamp) 511ab64890Smrg 521ab64890SmrgOriginally written by Per Bothner. 5303ea5dc6SmrgCopyright 1992-2020 Free Software Foundation, Inc. 541ab64890Smrg 551ab64890SmrgThis is free software; see the source for copying conditions. There is NO 561ab64890Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 571ab64890Smrg 581ab64890Smrghelp=" 591ab64890SmrgTry \`$me --help' for more information." 601ab64890Smrg 611ab64890Smrg# Parse command line 621ab64890Smrgwhile test $# -gt 0 ; do 631ab64890Smrg case $1 in 641ab64890Smrg --time-stamp | --time* | -t ) 651ab64890Smrg echo "$timestamp" ; exit ;; 661ab64890Smrg --version | -v ) 671ab64890Smrg echo "$version" ; exit ;; 681ab64890Smrg --help | --h* | -h ) 691ab64890Smrg echo "$usage"; exit ;; 701ab64890Smrg -- ) # Stop option processing 711ab64890Smrg shift; break ;; 721ab64890Smrg - ) # Use stdin as input. 731ab64890Smrg break ;; 741ab64890Smrg -* ) 751ab64890Smrg echo "$me: invalid option $1$help" >&2 761ab64890Smrg exit 1 ;; 771ab64890Smrg * ) 781ab64890Smrg break ;; 791ab64890Smrg esac 801ab64890Smrgdone 811ab64890Smrg 821ab64890Smrgif test $# != 0; then 831ab64890Smrg echo "$me: too many arguments$help" >&2 841ab64890Smrg exit 1 851ab64890Smrgfi 861ab64890Smrg 871ab64890Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 881ab64890Smrg# compiler to aid in system detection is discouraged as it requires 891ab64890Smrg# temporary files to be created and, as you can see below, it is a 901ab64890Smrg# headache to deal with in a portable fashion. 911ab64890Smrg 921ab64890Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 931ab64890Smrg# use `HOST_CC' if defined, but it is deprecated. 941ab64890Smrg 951ab64890Smrg# Portable tmp directory creation inspired by the Autoconf team. 961ab64890Smrg 9703ea5dc6Smrgtmp= 9803ea5dc6Smrg# shellcheck disable=SC2172 9903ea5dc6Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 10003ea5dc6Smrg 10103ea5dc6Smrgset_cc_for_build() { 10203ea5dc6Smrg # prevent multiple calls if $tmp is already set 10303ea5dc6Smrg test "$tmp" && return 0 10403ea5dc6Smrg : "${TMPDIR=/tmp}" 10503ea5dc6Smrg # shellcheck disable=SC2039 10603ea5dc6Smrg { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || 10703ea5dc6Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 10803ea5dc6Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 10903ea5dc6Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 11003ea5dc6Smrg dummy=$tmp/dummy 11103ea5dc6Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 11203ea5dc6Smrg ,,) echo "int x;" > "$dummy.c" 11303ea5dc6Smrg for driver in cc gcc c89 c99 ; do 11403ea5dc6Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 11503ea5dc6Smrg CC_FOR_BUILD="$driver" 11603ea5dc6Smrg break 11703ea5dc6Smrg fi 11803ea5dc6Smrg done 11903ea5dc6Smrg if test x"$CC_FOR_BUILD" = x ; then 12003ea5dc6Smrg CC_FOR_BUILD=no_compiler_found 12103ea5dc6Smrg fi 12203ea5dc6Smrg ;; 12303ea5dc6Smrg ,,*) CC_FOR_BUILD=$CC ;; 12403ea5dc6Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 12503ea5dc6Smrg esac 12603ea5dc6Smrg} 1271ab64890Smrg 1281ab64890Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1291ab64890Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 13003ea5dc6Smrgif test -f /.attbin/uname ; then 1311ab64890Smrg PATH=$PATH:/.attbin ; export PATH 1321ab64890Smrgfi 1331ab64890Smrg 13403ea5dc6SmrgUNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown 13503ea5dc6SmrgUNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown 13603ea5dc6SmrgUNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown 13703ea5dc6SmrgUNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown 1381ab64890Smrg 1395afda2e6Smrgcase "$UNAME_SYSTEM" in 140818534a1SmrgLinux|GNU|GNU/*) 141818534a1Smrg # If the system lacks a compiler, then just pick glibc. 142818534a1Smrg # We could probably try harder. 143818534a1Smrg LIBC=gnu 144818534a1Smrg 14503ea5dc6Smrg set_cc_for_build 1465afda2e6Smrg cat <<-EOF > "$dummy.c" 147818534a1Smrg #include <features.h> 148818534a1Smrg #if defined(__UCLIBC__) 149818534a1Smrg LIBC=uclibc 150818534a1Smrg #elif defined(__dietlibc__) 151818534a1Smrg LIBC=dietlibc 152818534a1Smrg #else 15303ea5dc6Smrg #include <stdarg.h> 15403ea5dc6Smrg #ifdef __DEFINED_va_list 15503ea5dc6Smrg LIBC=musl 15603ea5dc6Smrg #else 157818534a1Smrg LIBC=gnu 158818534a1Smrg #endif 15903ea5dc6Smrg #endif 160818534a1Smrg EOF 16103ea5dc6Smrg eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" 162818534a1Smrg ;; 163818534a1Smrgesac 164818534a1Smrg 1651ab64890Smrg# Note: order is significant - the case branches are not exclusive. 1661ab64890Smrg 1675afda2e6Smrgcase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 1681ab64890Smrg *:NetBSD:*:*) 1691ab64890Smrg # NetBSD (nbsd) targets should (where applicable) match one or 170eb411b4bSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 1711ab64890Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1721ab64890Smrg # switched to ELF, *-*-netbsd* would select the old 1731ab64890Smrg # object file format. This provides both forward 1741ab64890Smrg # compatibility and a consistent mechanism for selecting the 1751ab64890Smrg # object file format. 1761ab64890Smrg # 1771ab64890Smrg # Note: NetBSD doesn't particularly care about the vendor 1781ab64890Smrg # portion of the name. We always set it to "unknown". 1791ab64890Smrg sysctl="sysctl -n hw.machine_arch" 18003ea5dc6Smrg UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ 1815afda2e6Smrg "/sbin/$sysctl" 2>/dev/null || \ 1825afda2e6Smrg "/usr/sbin/$sysctl" 2>/dev/null || \ 18303ea5dc6Smrg echo unknown)) 1845afda2e6Smrg case "$UNAME_MACHINE_ARCH" in 18503ea5dc6Smrg aarch64eb) machine=aarch64_be-unknown ;; 1861ab64890Smrg armeb) machine=armeb-unknown ;; 1871ab64890Smrg arm*) machine=arm-unknown ;; 1881ab64890Smrg sh3el) machine=shl-unknown ;; 1891ab64890Smrg sh3eb) machine=sh-unknown ;; 1901ab64890Smrg sh5el) machine=sh5le-unknown ;; 191862bcd1aSmrg earmv*) 19203ea5dc6Smrg arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') 19303ea5dc6Smrg endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') 1945afda2e6Smrg machine="${arch}${endian}"-unknown 195862bcd1aSmrg ;; 1965afda2e6Smrg *) machine="$UNAME_MACHINE_ARCH"-unknown ;; 1971ab64890Smrg esac 1981ab64890Smrg # The Operating System including object format, if it has switched 19938ae11fcSmrg # to ELF recently (or will in the future) and ABI. 2005afda2e6Smrg case "$UNAME_MACHINE_ARCH" in 20138ae11fcSmrg earm*) 20238ae11fcSmrg os=netbsdelf 20338ae11fcSmrg ;; 20438ae11fcSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 20503ea5dc6Smrg set_cc_for_build 2061ab64890Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 20788de56ccSmrg | grep -q __ELF__ 2081ab64890Smrg then 2091ab64890Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 2101ab64890Smrg # Return netbsd for either. FIX? 2111ab64890Smrg os=netbsd 2121ab64890Smrg else 2131ab64890Smrg os=netbsdelf 2141ab64890Smrg fi 2151ab64890Smrg ;; 2161ab64890Smrg *) 217eb411b4bSmrg os=netbsd 2181ab64890Smrg ;; 2191ab64890Smrg esac 220862bcd1aSmrg # Determine ABI tags. 2215afda2e6Smrg case "$UNAME_MACHINE_ARCH" in 222862bcd1aSmrg earm*) 223862bcd1aSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 22403ea5dc6Smrg abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") 225862bcd1aSmrg ;; 226862bcd1aSmrg esac 2271ab64890Smrg # The OS release 2281ab64890Smrg # Debian GNU/NetBSD machines have a different userland, and 2291ab64890Smrg # thus, need a distinct triplet. However, they do not need 2301ab64890Smrg # kernel version information, so it can be replaced with a 2311ab64890Smrg # suitable tag, in the style of linux-gnu. 2325afda2e6Smrg case "$UNAME_VERSION" in 2331ab64890Smrg Debian*) 2341ab64890Smrg release='-gnu' 2351ab64890Smrg ;; 2361ab64890Smrg *) 23703ea5dc6Smrg release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) 2381ab64890Smrg ;; 2391ab64890Smrg esac 2401ab64890Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2411ab64890Smrg # contains redundant information, the shorter form: 2421ab64890Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 24303ea5dc6Smrg echo "$machine-${os}${release}${abi-}" 2441ab64890Smrg exit ;; 245eb411b4bSmrg *:Bitrig:*:*) 24603ea5dc6Smrg UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') 2475afda2e6Smrg echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" 248eb411b4bSmrg exit ;; 2491ab64890Smrg *:OpenBSD:*:*) 25003ea5dc6Smrg UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') 2515afda2e6Smrg echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" 2521ab64890Smrg exit ;; 25338ae11fcSmrg *:LibertyBSD:*:*) 25403ea5dc6Smrg UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') 2555afda2e6Smrg echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" 2565afda2e6Smrg exit ;; 2575afda2e6Smrg *:MidnightBSD:*:*) 2585afda2e6Smrg echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" 25938ae11fcSmrg exit ;; 2601ab64890Smrg *:ekkoBSD:*:*) 2615afda2e6Smrg echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" 2621ab64890Smrg exit ;; 2631ab64890Smrg *:SolidBSD:*:*) 2645afda2e6Smrg echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" 2651ab64890Smrg exit ;; 26603ea5dc6Smrg *:OS108:*:*) 26703ea5dc6Smrg echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" 26803ea5dc6Smrg exit ;; 2691ab64890Smrg macppc:MirBSD:*:*) 2705afda2e6Smrg echo powerpc-unknown-mirbsd"$UNAME_RELEASE" 2711ab64890Smrg exit ;; 2721ab64890Smrg *:MirBSD:*:*) 2735afda2e6Smrg echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" 2741ab64890Smrg exit ;; 275862bcd1aSmrg *:Sortix:*:*) 2765afda2e6Smrg echo "$UNAME_MACHINE"-unknown-sortix 2775afda2e6Smrg exit ;; 27803ea5dc6Smrg *:Twizzler:*:*) 27903ea5dc6Smrg echo "$UNAME_MACHINE"-unknown-twizzler 28003ea5dc6Smrg exit ;; 2815afda2e6Smrg *:Redox:*:*) 2825afda2e6Smrg echo "$UNAME_MACHINE"-unknown-redox 283862bcd1aSmrg exit ;; 2845afda2e6Smrg mips:OSF1:*.*) 28503ea5dc6Smrg echo mips-dec-osf1 28603ea5dc6Smrg exit ;; 2871ab64890Smrg alpha:OSF1:*:*) 2881ab64890Smrg case $UNAME_RELEASE in 2891ab64890Smrg *4.0) 29003ea5dc6Smrg UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') 2911ab64890Smrg ;; 2921ab64890Smrg *5.*) 29303ea5dc6Smrg UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') 2941ab64890Smrg ;; 2951ab64890Smrg esac 2961ab64890Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2971ab64890Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2981ab64890Smrg # covers most systems running today. This code pipes the CPU 2991ab64890Smrg # types through head -n 1, so we only detect the type of CPU 0. 30003ea5dc6Smrg ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) 3011ab64890Smrg case "$ALPHA_CPU_TYPE" in 3021ab64890Smrg "EV4 (21064)") 30338ae11fcSmrg UNAME_MACHINE=alpha ;; 3041ab64890Smrg "EV4.5 (21064)") 30538ae11fcSmrg UNAME_MACHINE=alpha ;; 3061ab64890Smrg "LCA4 (21066/21068)") 30738ae11fcSmrg UNAME_MACHINE=alpha ;; 3081ab64890Smrg "EV5 (21164)") 30938ae11fcSmrg UNAME_MACHINE=alphaev5 ;; 3101ab64890Smrg "EV5.6 (21164A)") 31138ae11fcSmrg UNAME_MACHINE=alphaev56 ;; 3121ab64890Smrg "EV5.6 (21164PC)") 31338ae11fcSmrg UNAME_MACHINE=alphapca56 ;; 3141ab64890Smrg "EV5.7 (21164PC)") 31538ae11fcSmrg UNAME_MACHINE=alphapca57 ;; 3161ab64890Smrg "EV6 (21264)") 31738ae11fcSmrg UNAME_MACHINE=alphaev6 ;; 3181ab64890Smrg "EV6.7 (21264A)") 31938ae11fcSmrg UNAME_MACHINE=alphaev67 ;; 3201ab64890Smrg "EV6.8CB (21264C)") 32138ae11fcSmrg UNAME_MACHINE=alphaev68 ;; 3221ab64890Smrg "EV6.8AL (21264B)") 32338ae11fcSmrg UNAME_MACHINE=alphaev68 ;; 3241ab64890Smrg "EV6.8CX (21264D)") 32538ae11fcSmrg UNAME_MACHINE=alphaev68 ;; 3261ab64890Smrg "EV6.9A (21264/EV69A)") 32738ae11fcSmrg UNAME_MACHINE=alphaev69 ;; 3281ab64890Smrg "EV7 (21364)") 32938ae11fcSmrg UNAME_MACHINE=alphaev7 ;; 3301ab64890Smrg "EV7.9 (21364A)") 33138ae11fcSmrg UNAME_MACHINE=alphaev79 ;; 3321ab64890Smrg esac 3331ab64890Smrg # A Pn.n version is a patched version. 3341ab64890Smrg # A Vn.n version is a released version. 3351ab64890Smrg # A Tn.n version is a released field test version. 3361ab64890Smrg # A Xn.n version is an unreleased experimental baselevel. 3371ab64890Smrg # 1.2 uses "1.2" for uname -r. 33803ea5dc6Smrg echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" 339eb411b4bSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 340eb411b4bSmrg exitcode=$? 341eb411b4bSmrg trap '' 0 342eb411b4bSmrg exit $exitcode ;; 3431ab64890Smrg Amiga*:UNIX_System_V:4.0:*) 3441ab64890Smrg echo m68k-unknown-sysv4 3451ab64890Smrg exit ;; 3461ab64890Smrg *:[Aa]miga[Oo][Ss]:*:*) 3475afda2e6Smrg echo "$UNAME_MACHINE"-unknown-amigaos 3481ab64890Smrg exit ;; 3491ab64890Smrg *:[Mm]orph[Oo][Ss]:*:*) 3505afda2e6Smrg echo "$UNAME_MACHINE"-unknown-morphos 3511ab64890Smrg exit ;; 3521ab64890Smrg *:OS/390:*:*) 3531ab64890Smrg echo i370-ibm-openedition 3541ab64890Smrg exit ;; 3551ab64890Smrg *:z/VM:*:*) 3561ab64890Smrg echo s390-ibm-zvmoe 3571ab64890Smrg exit ;; 3581ab64890Smrg *:OS400:*:*) 359eb411b4bSmrg echo powerpc-ibm-os400 3601ab64890Smrg exit ;; 3611ab64890Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3625afda2e6Smrg echo arm-acorn-riscix"$UNAME_RELEASE" 3631ab64890Smrg exit ;; 364eb411b4bSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 3651ab64890Smrg echo arm-unknown-riscos 3661ab64890Smrg exit ;; 3671ab64890Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3681ab64890Smrg echo hppa1.1-hitachi-hiuxmpp 3691ab64890Smrg exit ;; 3701ab64890Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3711ab64890Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 37203ea5dc6Smrg if test "$( (/bin/universe) 2>/dev/null)" = att ; then 3731ab64890Smrg echo pyramid-pyramid-sysv3 3741ab64890Smrg else 3751ab64890Smrg echo pyramid-pyramid-bsd 3761ab64890Smrg fi 3771ab64890Smrg exit ;; 3781ab64890Smrg NILE*:*:*:dcosx) 3791ab64890Smrg echo pyramid-pyramid-svr4 3801ab64890Smrg exit ;; 3811ab64890Smrg DRS?6000:unix:4.0:6*) 3821ab64890Smrg echo sparc-icl-nx6 3831ab64890Smrg exit ;; 3841ab64890Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 38503ea5dc6Smrg case $(/usr/bin/uname -p) in 3861ab64890Smrg sparc) echo sparc-icl-nx7; exit ;; 3871ab64890Smrg esac ;; 38888de56ccSmrg s390x:SunOS:*:*) 38903ea5dc6Smrg echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" 39088de56ccSmrg exit ;; 3911ab64890Smrg sun4H:SunOS:5.*:*) 39203ea5dc6Smrg echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 3931ab64890Smrg exit ;; 3941ab64890Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 39503ea5dc6Smrg echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" 3961ab64890Smrg exit ;; 39788de56ccSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 3985afda2e6Smrg echo i386-pc-auroraux"$UNAME_RELEASE" 39988de56ccSmrg exit ;; 40061b2299dSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 40103ea5dc6Smrg set_cc_for_build 4029c019ec5Smaya SUN_ARCH=i386 4039c019ec5Smaya # If there is a compiler, see if it is configured for 64-bit objects. 4049c019ec5Smaya # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 4059c019ec5Smaya # This test works for both compilers. 40603ea5dc6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 4079c019ec5Smaya if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4089c019ec5Smaya (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 4099c019ec5Smaya grep IS_64BIT_ARCH >/dev/null 4109c019ec5Smaya then 4119c019ec5Smaya SUN_ARCH=x86_64 4129c019ec5Smaya fi 4139c019ec5Smaya fi 41403ea5dc6Smrg echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 4151ab64890Smrg exit ;; 4161ab64890Smrg sun4*:SunOS:6*:*) 4171ab64890Smrg # According to config.sub, this is the proper way to canonicalize 4181ab64890Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 4191ab64890Smrg # it's likely to be more like Solaris than SunOS4. 42003ea5dc6Smrg echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 4211ab64890Smrg exit ;; 4221ab64890Smrg sun4*:SunOS:*:*) 42303ea5dc6Smrg case "$(/usr/bin/arch -k)" in 4241ab64890Smrg Series*|S4*) 42503ea5dc6Smrg UNAME_RELEASE=$(uname -v) 4261ab64890Smrg ;; 4271ab64890Smrg esac 4281ab64890Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 42903ea5dc6Smrg echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" 4301ab64890Smrg exit ;; 4311ab64890Smrg sun3*:SunOS:*:*) 4325afda2e6Smrg echo m68k-sun-sunos"$UNAME_RELEASE" 4331ab64890Smrg exit ;; 4341ab64890Smrg sun*:*:4.2BSD:*) 43503ea5dc6Smrg UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) 4365afda2e6Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 43703ea5dc6Smrg case "$(/bin/arch)" in 4381ab64890Smrg sun3) 4395afda2e6Smrg echo m68k-sun-sunos"$UNAME_RELEASE" 4401ab64890Smrg ;; 4411ab64890Smrg sun4) 4425afda2e6Smrg echo sparc-sun-sunos"$UNAME_RELEASE" 4431ab64890Smrg ;; 4441ab64890Smrg esac 4451ab64890Smrg exit ;; 4461ab64890Smrg aushp:SunOS:*:*) 4475afda2e6Smrg echo sparc-auspex-sunos"$UNAME_RELEASE" 4481ab64890Smrg exit ;; 4491ab64890Smrg # The situation for MiNT is a little confusing. The machine name 4501ab64890Smrg # can be virtually everything (everything which is not 4511ab64890Smrg # "atarist" or "atariste" at least should have a processor 4521ab64890Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 4531ab64890Smrg # to the lowercase version "mint" (or "freemint"). Finally 4541ab64890Smrg # the system name "TOS" denotes a system which is actually not 4551ab64890Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 4561ab64890Smrg # be no problem. 4571ab64890Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4585afda2e6Smrg echo m68k-atari-mint"$UNAME_RELEASE" 4591ab64890Smrg exit ;; 4601ab64890Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4615afda2e6Smrg echo m68k-atari-mint"$UNAME_RELEASE" 462eb411b4bSmrg exit ;; 4631ab64890Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4645afda2e6Smrg echo m68k-atari-mint"$UNAME_RELEASE" 4651ab64890Smrg exit ;; 4661ab64890Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4675afda2e6Smrg echo m68k-milan-mint"$UNAME_RELEASE" 468eb411b4bSmrg exit ;; 4691ab64890Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4705afda2e6Smrg echo m68k-hades-mint"$UNAME_RELEASE" 471eb411b4bSmrg exit ;; 4721ab64890Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4735afda2e6Smrg echo m68k-unknown-mint"$UNAME_RELEASE" 474eb411b4bSmrg exit ;; 4751ab64890Smrg m68k:machten:*:*) 4765afda2e6Smrg echo m68k-apple-machten"$UNAME_RELEASE" 4771ab64890Smrg exit ;; 4781ab64890Smrg powerpc:machten:*:*) 4795afda2e6Smrg echo powerpc-apple-machten"$UNAME_RELEASE" 4801ab64890Smrg exit ;; 4811ab64890Smrg RISC*:Mach:*:*) 4821ab64890Smrg echo mips-dec-mach_bsd4.3 4831ab64890Smrg exit ;; 4841ab64890Smrg RISC*:ULTRIX:*:*) 4855afda2e6Smrg echo mips-dec-ultrix"$UNAME_RELEASE" 4861ab64890Smrg exit ;; 4871ab64890Smrg VAX*:ULTRIX*:*:*) 4885afda2e6Smrg echo vax-dec-ultrix"$UNAME_RELEASE" 4891ab64890Smrg exit ;; 4901ab64890Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4915afda2e6Smrg echo clipper-intergraph-clix"$UNAME_RELEASE" 4921ab64890Smrg exit ;; 4931ab64890Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 49403ea5dc6Smrg set_cc_for_build 4955afda2e6Smrg sed 's/^ //' << EOF > "$dummy.c" 4961ab64890Smrg#ifdef __cplusplus 4971ab64890Smrg#include <stdio.h> /* for printf() prototype */ 4981ab64890Smrg int main (int argc, char *argv[]) { 4991ab64890Smrg#else 5001ab64890Smrg int main (argc, argv) int argc; char *argv[]; { 5011ab64890Smrg#endif 5021ab64890Smrg #if defined (host_mips) && defined (MIPSEB) 5031ab64890Smrg #if defined (SYSTYPE_SYSV) 5045afda2e6Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 5051ab64890Smrg #endif 5061ab64890Smrg #if defined (SYSTYPE_SVR4) 5075afda2e6Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 5081ab64890Smrg #endif 5091ab64890Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 5105afda2e6Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 5111ab64890Smrg #endif 5121ab64890Smrg #endif 5131ab64890Smrg exit (-1); 5141ab64890Smrg } 5151ab64890SmrgEOF 5165afda2e6Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 51703ea5dc6Smrg dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && 51803ea5dc6Smrg SYSTEM_NAME=$("$dummy" "$dummyarg") && 5191ab64890Smrg { echo "$SYSTEM_NAME"; exit; } 5205afda2e6Smrg echo mips-mips-riscos"$UNAME_RELEASE" 5211ab64890Smrg exit ;; 5221ab64890Smrg Motorola:PowerMAX_OS:*:*) 5231ab64890Smrg echo powerpc-motorola-powermax 5241ab64890Smrg exit ;; 5251ab64890Smrg Motorola:*:4.3:PL8-*) 5261ab64890Smrg echo powerpc-harris-powermax 5271ab64890Smrg exit ;; 5281ab64890Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 5291ab64890Smrg echo powerpc-harris-powermax 5301ab64890Smrg exit ;; 5311ab64890Smrg Night_Hawk:Power_UNIX:*:*) 5321ab64890Smrg echo powerpc-harris-powerunix 5331ab64890Smrg exit ;; 5341ab64890Smrg m88k:CX/UX:7*:*) 5351ab64890Smrg echo m88k-harris-cxux7 5361ab64890Smrg exit ;; 5371ab64890Smrg m88k:*:4*:R4*) 5381ab64890Smrg echo m88k-motorola-sysv4 5391ab64890Smrg exit ;; 5401ab64890Smrg m88k:*:3*:R3*) 5411ab64890Smrg echo m88k-motorola-sysv3 5421ab64890Smrg exit ;; 5431ab64890Smrg AViiON:dgux:*:*) 544eb411b4bSmrg # DG/UX returns AViiON for all architectures 54503ea5dc6Smrg UNAME_PROCESSOR=$(/usr/bin/uname -p) 54603ea5dc6Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 5471ab64890Smrg then 54803ea5dc6Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 54903ea5dc6Smrg test "$TARGET_BINARY_INTERFACE"x = x 5501ab64890Smrg then 5515afda2e6Smrg echo m88k-dg-dgux"$UNAME_RELEASE" 5521ab64890Smrg else 5535afda2e6Smrg echo m88k-dg-dguxbcs"$UNAME_RELEASE" 5541ab64890Smrg fi 5551ab64890Smrg else 5565afda2e6Smrg echo i586-dg-dgux"$UNAME_RELEASE" 5571ab64890Smrg fi 558eb411b4bSmrg exit ;; 5591ab64890Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 5601ab64890Smrg echo m88k-dolphin-sysv3 5611ab64890Smrg exit ;; 5621ab64890Smrg M88*:*:R3*:*) 5631ab64890Smrg # Delta 88k system running SVR3 5641ab64890Smrg echo m88k-motorola-sysv3 5651ab64890Smrg exit ;; 5661ab64890Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 5671ab64890Smrg echo m88k-tektronix-sysv3 5681ab64890Smrg exit ;; 5691ab64890Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5701ab64890Smrg echo m68k-tektronix-bsd 5711ab64890Smrg exit ;; 5721ab64890Smrg *:IRIX*:*:*) 57303ea5dc6Smrg echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" 5741ab64890Smrg exit ;; 5751ab64890Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 5761ab64890Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 57703ea5dc6Smrg exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' 5781ab64890Smrg i*86:AIX:*:*) 5791ab64890Smrg echo i386-ibm-aix 5801ab64890Smrg exit ;; 5811ab64890Smrg ia64:AIX:*:*) 58203ea5dc6Smrg if test -x /usr/bin/oslevel ; then 58303ea5dc6Smrg IBM_REV=$(/usr/bin/oslevel) 5841ab64890Smrg else 5855afda2e6Smrg IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 5861ab64890Smrg fi 5875afda2e6Smrg echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" 5881ab64890Smrg exit ;; 5891ab64890Smrg *:AIX:2:3) 5901ab64890Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 59103ea5dc6Smrg set_cc_for_build 5925afda2e6Smrg sed 's/^ //' << EOF > "$dummy.c" 5931ab64890Smrg #include <sys/systemcfg.h> 5941ab64890Smrg 5951ab64890Smrg main() 5961ab64890Smrg { 5971ab64890Smrg if (!__power_pc()) 5981ab64890Smrg exit(1); 5991ab64890Smrg puts("powerpc-ibm-aix3.2.5"); 6001ab64890Smrg exit(0); 6011ab64890Smrg } 6021ab64890SmrgEOF 60303ea5dc6Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") 6041ab64890Smrg then 6051ab64890Smrg echo "$SYSTEM_NAME" 6061ab64890Smrg else 6071ab64890Smrg echo rs6000-ibm-aix3.2.5 6081ab64890Smrg fi 6091ab64890Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 6101ab64890Smrg echo rs6000-ibm-aix3.2.4 6111ab64890Smrg else 6121ab64890Smrg echo rs6000-ibm-aix3.2 6131ab64890Smrg fi 6141ab64890Smrg exit ;; 615e9fcaa8aSmrg *:AIX:*:[4567]) 61603ea5dc6Smrg IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') 6175afda2e6Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 6181ab64890Smrg IBM_ARCH=rs6000 6191ab64890Smrg else 6201ab64890Smrg IBM_ARCH=powerpc 6211ab64890Smrg fi 62203ea5dc6Smrg if test -x /usr/bin/lslpp ; then 62303ea5dc6Smrg IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | 62403ea5dc6Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) 6251ab64890Smrg else 6265afda2e6Smrg IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 6271ab64890Smrg fi 6285afda2e6Smrg echo "$IBM_ARCH"-ibm-aix"$IBM_REV" 6291ab64890Smrg exit ;; 6301ab64890Smrg *:AIX:*:*) 6311ab64890Smrg echo rs6000-ibm-aix 6321ab64890Smrg exit ;; 6335afda2e6Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 6341ab64890Smrg echo romp-ibm-bsd4.4 6351ab64890Smrg exit ;; 6361ab64890Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 6375afda2e6Smrg echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to 6381ab64890Smrg exit ;; # report: romp-ibm BSD 4.3 6391ab64890Smrg *:BOSX:*:*) 6401ab64890Smrg echo rs6000-bull-bosx 6411ab64890Smrg exit ;; 6421ab64890Smrg DPX/2?00:B.O.S.:*:*) 6431ab64890Smrg echo m68k-bull-sysv3 6441ab64890Smrg exit ;; 6451ab64890Smrg 9000/[34]??:4.3bsd:1.*:*) 6461ab64890Smrg echo m68k-hp-bsd 6471ab64890Smrg exit ;; 6481ab64890Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 6491ab64890Smrg echo m68k-hp-bsd4.4 6501ab64890Smrg exit ;; 6511ab64890Smrg 9000/[34678]??:HP-UX:*:*) 65203ea5dc6Smrg HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') 6535afda2e6Smrg case "$UNAME_MACHINE" in 6545afda2e6Smrg 9000/31?) HP_ARCH=m68000 ;; 6555afda2e6Smrg 9000/[34]??) HP_ARCH=m68k ;; 6561ab64890Smrg 9000/[678][0-9][0-9]) 65703ea5dc6Smrg if test -x /usr/bin/getconf; then 65803ea5dc6Smrg sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) 65903ea5dc6Smrg sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) 6605afda2e6Smrg case "$sc_cpu_version" in 66138ae11fcSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 66238ae11fcSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 663eb411b4bSmrg 532) # CPU_PA_RISC2_0 6645afda2e6Smrg case "$sc_kernel_bits" in 66538ae11fcSmrg 32) HP_ARCH=hppa2.0n ;; 66638ae11fcSmrg 64) HP_ARCH=hppa2.0w ;; 66738ae11fcSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 668eb411b4bSmrg esac ;; 669eb411b4bSmrg esac 6701ab64890Smrg fi 67103ea5dc6Smrg if test "$HP_ARCH" = ""; then 67203ea5dc6Smrg set_cc_for_build 6735afda2e6Smrg sed 's/^ //' << EOF > "$dummy.c" 6741ab64890Smrg 675eb411b4bSmrg #define _HPUX_SOURCE 676eb411b4bSmrg #include <stdlib.h> 677eb411b4bSmrg #include <unistd.h> 6781ab64890Smrg 679eb411b4bSmrg int main () 680eb411b4bSmrg { 681eb411b4bSmrg #if defined(_SC_KERNEL_BITS) 682eb411b4bSmrg long bits = sysconf(_SC_KERNEL_BITS); 683eb411b4bSmrg #endif 684eb411b4bSmrg long cpu = sysconf (_SC_CPU_VERSION); 6851ab64890Smrg 686eb411b4bSmrg switch (cpu) 687eb411b4bSmrg { 688eb411b4bSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 689eb411b4bSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 690eb411b4bSmrg case CPU_PA_RISC2_0: 691eb411b4bSmrg #if defined(_SC_KERNEL_BITS) 692eb411b4bSmrg switch (bits) 693eb411b4bSmrg { 694eb411b4bSmrg case 64: puts ("hppa2.0w"); break; 695eb411b4bSmrg case 32: puts ("hppa2.0n"); break; 696eb411b4bSmrg default: puts ("hppa2.0"); break; 697eb411b4bSmrg } break; 698eb411b4bSmrg #else /* !defined(_SC_KERNEL_BITS) */ 699eb411b4bSmrg puts ("hppa2.0"); break; 700eb411b4bSmrg #endif 701eb411b4bSmrg default: puts ("hppa1.0"); break; 702eb411b4bSmrg } 703eb411b4bSmrg exit (0); 704eb411b4bSmrg } 7051ab64890SmrgEOF 70603ea5dc6Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") 7071ab64890Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 7081ab64890Smrg fi ;; 7091ab64890Smrg esac 71003ea5dc6Smrg if test "$HP_ARCH" = hppa2.0w 7111ab64890Smrg then 71203ea5dc6Smrg set_cc_for_build 7131ab64890Smrg 7141ab64890Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 7151ab64890Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 7161ab64890Smrg # generating 64-bit code. GNU and HP use different nomenclature: 7171ab64890Smrg # 7181ab64890Smrg # $ CC_FOR_BUILD=cc ./config.guess 7191ab64890Smrg # => hppa2.0w-hp-hpux11.23 7201ab64890Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 7211ab64890Smrg # => hppa64-hp-hpux11.23 7221ab64890Smrg 72338ae11fcSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 72488de56ccSmrg grep -q __LP64__ 7251ab64890Smrg then 72638ae11fcSmrg HP_ARCH=hppa2.0w 7271ab64890Smrg else 72838ae11fcSmrg HP_ARCH=hppa64 7291ab64890Smrg fi 7301ab64890Smrg fi 7315afda2e6Smrg echo "$HP_ARCH"-hp-hpux"$HPUX_REV" 7321ab64890Smrg exit ;; 7331ab64890Smrg ia64:HP-UX:*:*) 73403ea5dc6Smrg HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') 7355afda2e6Smrg echo ia64-hp-hpux"$HPUX_REV" 7361ab64890Smrg exit ;; 7371ab64890Smrg 3050*:HI-UX:*:*) 73803ea5dc6Smrg set_cc_for_build 7395afda2e6Smrg sed 's/^ //' << EOF > "$dummy.c" 7401ab64890Smrg #include <unistd.h> 7411ab64890Smrg int 7421ab64890Smrg main () 7431ab64890Smrg { 7441ab64890Smrg long cpu = sysconf (_SC_CPU_VERSION); 7451ab64890Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 7461ab64890Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 7471ab64890Smrg results, however. */ 7481ab64890Smrg if (CPU_IS_PA_RISC (cpu)) 7491ab64890Smrg { 7501ab64890Smrg switch (cpu) 7511ab64890Smrg { 7521ab64890Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 7531ab64890Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 7541ab64890Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 7551ab64890Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 7561ab64890Smrg } 7571ab64890Smrg } 7581ab64890Smrg else if (CPU_IS_HP_MC68K (cpu)) 7591ab64890Smrg puts ("m68k-hitachi-hiuxwe2"); 7601ab64890Smrg else puts ("unknown-hitachi-hiuxwe2"); 7611ab64890Smrg exit (0); 7621ab64890Smrg } 7631ab64890SmrgEOF 76403ea5dc6Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && 7651ab64890Smrg { echo "$SYSTEM_NAME"; exit; } 7661ab64890Smrg echo unknown-hitachi-hiuxwe2 7671ab64890Smrg exit ;; 7685afda2e6Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 7691ab64890Smrg echo hppa1.1-hp-bsd 7701ab64890Smrg exit ;; 7711ab64890Smrg 9000/8??:4.3bsd:*:*) 7721ab64890Smrg echo hppa1.0-hp-bsd 7731ab64890Smrg exit ;; 7741ab64890Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 7751ab64890Smrg echo hppa1.0-hp-mpeix 7761ab64890Smrg exit ;; 7775afda2e6Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 7781ab64890Smrg echo hppa1.1-hp-osf 7791ab64890Smrg exit ;; 7801ab64890Smrg hp8??:OSF1:*:*) 7811ab64890Smrg echo hppa1.0-hp-osf 7821ab64890Smrg exit ;; 7831ab64890Smrg i*86:OSF1:*:*) 78403ea5dc6Smrg if test -x /usr/sbin/sysversion ; then 7855afda2e6Smrg echo "$UNAME_MACHINE"-unknown-osf1mk 7861ab64890Smrg else 7875afda2e6Smrg echo "$UNAME_MACHINE"-unknown-osf1 7881ab64890Smrg fi 7891ab64890Smrg exit ;; 7901ab64890Smrg parisc*:Lites*:*:*) 7911ab64890Smrg echo hppa1.1-hp-lites 7921ab64890Smrg exit ;; 7931ab64890Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7941ab64890Smrg echo c1-convex-bsd 795eb411b4bSmrg exit ;; 7961ab64890Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7971ab64890Smrg if getsysinfo -f scalar_acc 7981ab64890Smrg then echo c32-convex-bsd 7991ab64890Smrg else echo c2-convex-bsd 8001ab64890Smrg fi 801eb411b4bSmrg exit ;; 8021ab64890Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 8031ab64890Smrg echo c34-convex-bsd 804eb411b4bSmrg exit ;; 8051ab64890Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 8061ab64890Smrg echo c38-convex-bsd 807eb411b4bSmrg exit ;; 8081ab64890Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 8091ab64890Smrg echo c4-convex-bsd 810eb411b4bSmrg exit ;; 8111ab64890Smrg CRAY*Y-MP:*:*:*) 8125afda2e6Smrg echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 8131ab64890Smrg exit ;; 8141ab64890Smrg CRAY*[A-Z]90:*:*:*) 8155afda2e6Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 8161ab64890Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 8171ab64890Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 8181ab64890Smrg -e 's/\.[^.]*$/.X/' 8191ab64890Smrg exit ;; 8201ab64890Smrg CRAY*TS:*:*:*) 8215afda2e6Smrg echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 8221ab64890Smrg exit ;; 8231ab64890Smrg CRAY*T3E:*:*:*) 8245afda2e6Smrg echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 8251ab64890Smrg exit ;; 8261ab64890Smrg CRAY*SV1:*:*:*) 8275afda2e6Smrg echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 8281ab64890Smrg exit ;; 8291ab64890Smrg *:UNICOS/mp:*:*) 8305afda2e6Smrg echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 8311ab64890Smrg exit ;; 8321ab64890Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 83303ea5dc6Smrg FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) 83403ea5dc6Smrg FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') 83503ea5dc6Smrg FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') 836eb411b4bSmrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 837eb411b4bSmrg exit ;; 8381ab64890Smrg 5000:UNIX_System_V:4.*:*) 83903ea5dc6Smrg FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') 84003ea5dc6Smrg FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') 841eb411b4bSmrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 8421ab64890Smrg exit ;; 8431ab64890Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 8445afda2e6Smrg echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" 8451ab64890Smrg exit ;; 8461ab64890Smrg sparc*:BSD/OS:*:*) 8475afda2e6Smrg echo sparc-unknown-bsdi"$UNAME_RELEASE" 8481ab64890Smrg exit ;; 8491ab64890Smrg *:BSD/OS:*:*) 8505afda2e6Smrg echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" 8515afda2e6Smrg exit ;; 85203ea5dc6Smrg arm:FreeBSD:*:*) 85303ea5dc6Smrg UNAME_PROCESSOR=$(uname -p) 85403ea5dc6Smrg set_cc_for_build 85503ea5dc6Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 85603ea5dc6Smrg | grep -q __ARM_PCS_VFP 85703ea5dc6Smrg then 85803ea5dc6Smrg echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi 85903ea5dc6Smrg else 86003ea5dc6Smrg echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf 86103ea5dc6Smrg fi 86203ea5dc6Smrg exit ;; 8631ab64890Smrg *:FreeBSD:*:*) 86403ea5dc6Smrg UNAME_PROCESSOR=$(/usr/bin/uname -p) 8655afda2e6Smrg case "$UNAME_PROCESSOR" in 8661ab64890Smrg amd64) 8675afda2e6Smrg UNAME_PROCESSOR=x86_64 ;; 8685afda2e6Smrg i386) 8695afda2e6Smrg UNAME_PROCESSOR=i586 ;; 8701ab64890Smrg esac 87103ea5dc6Smrg echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" 8721ab64890Smrg exit ;; 8731ab64890Smrg i*:CYGWIN*:*) 8745afda2e6Smrg echo "$UNAME_MACHINE"-pc-cygwin 8751ab64890Smrg exit ;; 876eb411b4bSmrg *:MINGW64*:*) 8775afda2e6Smrg echo "$UNAME_MACHINE"-pc-mingw64 878eb411b4bSmrg exit ;; 8791ab64890Smrg *:MINGW*:*) 8805afda2e6Smrg echo "$UNAME_MACHINE"-pc-mingw32 8811ab64890Smrg exit ;; 882862bcd1aSmrg *:MSYS*:*) 8835afda2e6Smrg echo "$UNAME_MACHINE"-pc-msys 8841ab64890Smrg exit ;; 8851ab64890Smrg i*:PW*:*) 8865afda2e6Smrg echo "$UNAME_MACHINE"-pc-pw32 8871ab64890Smrg exit ;; 88888de56ccSmrg *:Interix*:*) 8895afda2e6Smrg case "$UNAME_MACHINE" in 89061b2299dSmrg x86) 8915afda2e6Smrg echo i586-pc-interix"$UNAME_RELEASE" 8921ab64890Smrg exit ;; 89388de56ccSmrg authenticamd | genuineintel | EM64T) 8945afda2e6Smrg echo x86_64-unknown-interix"$UNAME_RELEASE" 8951ab64890Smrg exit ;; 89661b2299dSmrg IA64) 8975afda2e6Smrg echo ia64-unknown-interix"$UNAME_RELEASE" 89861b2299dSmrg exit ;; 8991ab64890Smrg esac ;; 9001ab64890Smrg i*:UWIN*:*) 9015afda2e6Smrg echo "$UNAME_MACHINE"-pc-uwin 9021ab64890Smrg exit ;; 9031ab64890Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 90403ea5dc6Smrg echo x86_64-pc-cygwin 9051ab64890Smrg exit ;; 9061ab64890Smrg prep*:SunOS:5.*:*) 90703ea5dc6Smrg echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 9081ab64890Smrg exit ;; 9091ab64890Smrg *:GNU:*:*) 9101ab64890Smrg # the GNU system 91103ea5dc6Smrg echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" 9121ab64890Smrg exit ;; 9131ab64890Smrg *:GNU/*:*:*) 9141ab64890Smrg # other systems with GNU libc and userland 91503ea5dc6Smrg echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" 9161ab64890Smrg exit ;; 91703ea5dc6Smrg *:Minix:*:*) 91803ea5dc6Smrg echo "$UNAME_MACHINE"-unknown-minix 9191ab64890Smrg exit ;; 920eb411b4bSmrg aarch64:Linux:*:*) 9215afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 922eb411b4bSmrg exit ;; 923eb411b4bSmrg aarch64_be:Linux:*:*) 924eb411b4bSmrg UNAME_MACHINE=aarch64_be 9255afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 926eb411b4bSmrg exit ;; 92788de56ccSmrg alpha:Linux:*:*) 92803ea5dc6Smrg case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in 92988de56ccSmrg EV5) UNAME_MACHINE=alphaev5 ;; 93088de56ccSmrg EV56) UNAME_MACHINE=alphaev56 ;; 93188de56ccSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 93288de56ccSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 93388de56ccSmrg EV6) UNAME_MACHINE=alphaev6 ;; 93488de56ccSmrg EV67) UNAME_MACHINE=alphaev67 ;; 93588de56ccSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 936eb411b4bSmrg esac 93788de56ccSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 93838ae11fcSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 9395afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 94088de56ccSmrg exit ;; 941eb411b4bSmrg arc:Linux:*:* | arceb:Linux:*:*) 9425afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 943eb411b4bSmrg exit ;; 9441ab64890Smrg arm*:Linux:*:*) 94503ea5dc6Smrg set_cc_for_build 94661b2299dSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 94761b2299dSmrg | grep -q __ARM_EABI__ 94861b2299dSmrg then 9495afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 95061b2299dSmrg else 951eb411b4bSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 952eb411b4bSmrg | grep -q __ARM_PCS_VFP 953eb411b4bSmrg then 9545afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi 955eb411b4bSmrg else 9565afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf 957eb411b4bSmrg fi 95861b2299dSmrg fi 9591ab64890Smrg exit ;; 9601ab64890Smrg avr32*:Linux:*:*) 9615afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9621ab64890Smrg exit ;; 9631ab64890Smrg cris:Linux:*:*) 9645afda2e6Smrg echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 9651ab64890Smrg exit ;; 9661ab64890Smrg crisv32:Linux:*:*) 9675afda2e6Smrg echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 9681ab64890Smrg exit ;; 969862bcd1aSmrg e2k:Linux:*:*) 9705afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 971862bcd1aSmrg exit ;; 9721ab64890Smrg frv:Linux:*:*) 9735afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 974eb411b4bSmrg exit ;; 975eb411b4bSmrg hexagon:Linux:*:*) 9765afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9771ab64890Smrg exit ;; 97888de56ccSmrg i*86:Linux:*:*) 9795afda2e6Smrg echo "$UNAME_MACHINE"-pc-linux-"$LIBC" 98088de56ccSmrg exit ;; 9811ab64890Smrg ia64:Linux:*:*) 9825afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9831ab64890Smrg exit ;; 98438ae11fcSmrg k1om:Linux:*:*) 9855afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 98638ae11fcSmrg exit ;; 9871ab64890Smrg m32r*:Linux:*:*) 9885afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9891ab64890Smrg exit ;; 9901ab64890Smrg m68*:Linux:*:*) 9915afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9921ab64890Smrg exit ;; 99388de56ccSmrg mips:Linux:*:* | mips64:Linux:*:*) 99403ea5dc6Smrg set_cc_for_build 99503ea5dc6Smrg IS_GLIBC=0 99603ea5dc6Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 9975afda2e6Smrg sed 's/^ //' << EOF > "$dummy.c" 9981ab64890Smrg #undef CPU 99903ea5dc6Smrg #undef mips 100003ea5dc6Smrg #undef mipsel 100103ea5dc6Smrg #undef mips64 100203ea5dc6Smrg #undef mips64el 100303ea5dc6Smrg #if ${IS_GLIBC} && defined(_ABI64) 100403ea5dc6Smrg LIBCABI=gnuabi64 100503ea5dc6Smrg #else 100603ea5dc6Smrg #if ${IS_GLIBC} && defined(_ABIN32) 100703ea5dc6Smrg LIBCABI=gnuabin32 100803ea5dc6Smrg #else 100903ea5dc6Smrg LIBCABI=${LIBC} 101003ea5dc6Smrg #endif 101103ea5dc6Smrg #endif 101203ea5dc6Smrg 101303ea5dc6Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 101403ea5dc6Smrg CPU=mipsisa64r6 101503ea5dc6Smrg #else 101603ea5dc6Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 101703ea5dc6Smrg CPU=mipsisa32r6 101803ea5dc6Smrg #else 101903ea5dc6Smrg #if defined(__mips64) 102003ea5dc6Smrg CPU=mips64 102103ea5dc6Smrg #else 102203ea5dc6Smrg CPU=mips 102303ea5dc6Smrg #endif 102403ea5dc6Smrg #endif 102503ea5dc6Smrg #endif 102603ea5dc6Smrg 10271ab64890Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 102803ea5dc6Smrg MIPS_ENDIAN=el 10291ab64890Smrg #else 10301ab64890Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 103103ea5dc6Smrg MIPS_ENDIAN= 10321ab64890Smrg #else 103303ea5dc6Smrg MIPS_ENDIAN= 10341ab64890Smrg #endif 10351ab64890Smrg #endif 10361ab64890SmrgEOF 103703ea5dc6Smrg eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" 103803ea5dc6Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 10391ab64890Smrg ;; 104038ae11fcSmrg mips64el:Linux:*:*) 10415afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 104238ae11fcSmrg exit ;; 1043862bcd1aSmrg openrisc*:Linux:*:*) 10445afda2e6Smrg echo or1k-unknown-linux-"$LIBC" 1045eb411b4bSmrg exit ;; 1046862bcd1aSmrg or32:Linux:*:* | or1k*:Linux:*:*) 10475afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10481ab64890Smrg exit ;; 104988de56ccSmrg padre:Linux:*:*) 10505afda2e6Smrg echo sparc-unknown-linux-"$LIBC" 10511ab64890Smrg exit ;; 105288de56ccSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 10535afda2e6Smrg echo hppa64-unknown-linux-"$LIBC" 10541ab64890Smrg exit ;; 10551ab64890Smrg parisc:Linux:*:* | hppa:Linux:*:*) 10561ab64890Smrg # Look for CPU level 105703ea5dc6Smrg case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in 10585afda2e6Smrg PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; 10595afda2e6Smrg PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; 10605afda2e6Smrg *) echo hppa-unknown-linux-"$LIBC" ;; 10611ab64890Smrg esac 10621ab64890Smrg exit ;; 106388de56ccSmrg ppc64:Linux:*:*) 10645afda2e6Smrg echo powerpc64-unknown-linux-"$LIBC" 106588de56ccSmrg exit ;; 106688de56ccSmrg ppc:Linux:*:*) 10675afda2e6Smrg echo powerpc-unknown-linux-"$LIBC" 1068818534a1Smrg exit ;; 1069818534a1Smrg ppc64le:Linux:*:*) 10705afda2e6Smrg echo powerpc64le-unknown-linux-"$LIBC" 1071818534a1Smrg exit ;; 1072818534a1Smrg ppcle:Linux:*:*) 10735afda2e6Smrg echo powerpcle-unknown-linux-"$LIBC" 10741ab64890Smrg exit ;; 107538ae11fcSmrg riscv32:Linux:*:* | riscv64:Linux:*:*) 10765afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 107738ae11fcSmrg exit ;; 10781ab64890Smrg s390:Linux:*:* | s390x:Linux:*:*) 10795afda2e6Smrg echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" 10801ab64890Smrg exit ;; 10811ab64890Smrg sh64*:Linux:*:*) 10825afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10831ab64890Smrg exit ;; 10841ab64890Smrg sh*:Linux:*:*) 10855afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10861ab64890Smrg exit ;; 10871ab64890Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 10885afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10891ab64890Smrg exit ;; 1090e9fcaa8aSmrg tile*:Linux:*:*) 10915afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1092e9fcaa8aSmrg exit ;; 10931ab64890Smrg vax:Linux:*:*) 10945afda2e6Smrg echo "$UNAME_MACHINE"-dec-linux-"$LIBC" 10951ab64890Smrg exit ;; 10961ab64890Smrg x86_64:Linux:*:*) 109703ea5dc6Smrg set_cc_for_build 109803ea5dc6Smrg LIBCABI=$LIBC 109903ea5dc6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 110003ea5dc6Smrg if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ 110103ea5dc6Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 110203ea5dc6Smrg grep IS_X32 >/dev/null 110303ea5dc6Smrg then 110403ea5dc6Smrg LIBCABI="$LIBC"x32 110503ea5dc6Smrg fi 11069c019ec5Smaya fi 110703ea5dc6Smrg echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" 11081ab64890Smrg exit ;; 110961b2299dSmrg xtensa*:Linux:*:*) 11105afda2e6Smrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 11111ab64890Smrg exit ;; 11121ab64890Smrg i*86:DYNIX/ptx:4*:*) 11131ab64890Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 11141ab64890Smrg # earlier versions are messed up and put the nodename in both 11151ab64890Smrg # sysname and nodename. 11161ab64890Smrg echo i386-sequent-sysv4 11171ab64890Smrg exit ;; 11181ab64890Smrg i*86:UNIX_SV:4.2MP:2.*) 1119eb411b4bSmrg # Unixware is an offshoot of SVR4, but it has its own version 1120eb411b4bSmrg # number series starting with 2... 1121eb411b4bSmrg # I am not positive that other SVR4 systems won't match this, 11221ab64890Smrg # I just have to hope. -- rms. 1123eb411b4bSmrg # Use sysv4.2uw... so that sysv4* matches it. 11245afda2e6Smrg echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" 11251ab64890Smrg exit ;; 11261ab64890Smrg i*86:OS/2:*:*) 11271ab64890Smrg # If we were able to find `uname', then EMX Unix compatibility 11281ab64890Smrg # is probably installed. 11295afda2e6Smrg echo "$UNAME_MACHINE"-pc-os2-emx 11301ab64890Smrg exit ;; 11311ab64890Smrg i*86:XTS-300:*:STOP) 11325afda2e6Smrg echo "$UNAME_MACHINE"-unknown-stop 11331ab64890Smrg exit ;; 11341ab64890Smrg i*86:atheos:*:*) 11355afda2e6Smrg echo "$UNAME_MACHINE"-unknown-atheos 11361ab64890Smrg exit ;; 11371ab64890Smrg i*86:syllable:*:*) 11385afda2e6Smrg echo "$UNAME_MACHINE"-pc-syllable 11391ab64890Smrg exit ;; 114088de56ccSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 11415afda2e6Smrg echo i386-unknown-lynxos"$UNAME_RELEASE" 11421ab64890Smrg exit ;; 11431ab64890Smrg i*86:*DOS:*:*) 11445afda2e6Smrg echo "$UNAME_MACHINE"-pc-msdosdjgpp 11451ab64890Smrg exit ;; 11465afda2e6Smrg i*86:*:4.*:*) 114703ea5dc6Smrg UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') 11481ab64890Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 11495afda2e6Smrg echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" 11501ab64890Smrg else 11515afda2e6Smrg echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" 11521ab64890Smrg fi 11531ab64890Smrg exit ;; 11541ab64890Smrg i*86:*:5:[678]*) 1155eb411b4bSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 115603ea5dc6Smrg case $(/bin/uname -X | grep "^Machine") in 11571ab64890Smrg *486*) UNAME_MACHINE=i486 ;; 11581ab64890Smrg *Pentium) UNAME_MACHINE=i586 ;; 11591ab64890Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 11601ab64890Smrg esac 116103ea5dc6Smrg echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" 11621ab64890Smrg exit ;; 11631ab64890Smrg i*86:*:3.2:*) 11641ab64890Smrg if test -f /usr/options/cb.name; then 116503ea5dc6Smrg UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name) 11665afda2e6Smrg echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" 11671ab64890Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 116803ea5dc6Smrg UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) 11691ab64890Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 11701ab64890Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 11711ab64890Smrg && UNAME_MACHINE=i586 11721ab64890Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 11731ab64890Smrg && UNAME_MACHINE=i686 11741ab64890Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 11751ab64890Smrg && UNAME_MACHINE=i686 11765afda2e6Smrg echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" 11771ab64890Smrg else 11785afda2e6Smrg echo "$UNAME_MACHINE"-pc-sysv32 11791ab64890Smrg fi 11801ab64890Smrg exit ;; 11811ab64890Smrg pc:*:*:*) 11821ab64890Smrg # Left here for compatibility: 1183eb411b4bSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1184eb411b4bSmrg # the processor, so we play safe by assuming i586. 118588de56ccSmrg # Note: whatever this is, it MUST be the same as what config.sub 118638ae11fcSmrg # prints for the "djgpp" host, or else GDB configure will decide that 118788de56ccSmrg # this is a cross-build. 118888de56ccSmrg echo i586-pc-msdosdjgpp 1189eb411b4bSmrg exit ;; 11901ab64890Smrg Intel:Mach:3*:*) 11911ab64890Smrg echo i386-pc-mach3 11921ab64890Smrg exit ;; 11931ab64890Smrg paragon:*:*:*) 11941ab64890Smrg echo i860-intel-osf1 11951ab64890Smrg exit ;; 11961ab64890Smrg i860:*:4.*:*) # i860-SVR4 11971ab64890Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 11985afda2e6Smrg echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 11991ab64890Smrg else # Add other i860-SVR4 vendors below as they are discovered. 12005afda2e6Smrg echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 12011ab64890Smrg fi 12021ab64890Smrg exit ;; 12031ab64890Smrg mini*:CTIX:SYS*5:*) 12041ab64890Smrg # "miniframe" 12051ab64890Smrg echo m68010-convergent-sysv 12061ab64890Smrg exit ;; 12071ab64890Smrg mc68k:UNIX:SYSTEM5:3.51m) 12081ab64890Smrg echo m68k-convergent-sysv 12091ab64890Smrg exit ;; 12101ab64890Smrg M680?0:D-NIX:5.3:*) 12111ab64890Smrg echo m68k-diab-dnix 12121ab64890Smrg exit ;; 12131ab64890Smrg M68*:*:R3V[5678]*:*) 12141ab64890Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 12151ab64890Smrg 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) 12161ab64890Smrg OS_REL='' 12171ab64890Smrg test -r /etc/.relid \ 121803ea5dc6Smrg && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) 12191ab64890Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12205afda2e6Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 12211ab64890Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12225afda2e6Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 12231ab64890Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1224eb411b4bSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1225eb411b4bSmrg && { echo i486-ncr-sysv4; exit; } ;; 122688de56ccSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 122788de56ccSmrg OS_REL='.3' 122888de56ccSmrg test -r /etc/.relid \ 122903ea5dc6Smrg && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) 123088de56ccSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12315afda2e6Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 123288de56ccSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12335afda2e6Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 123488de56ccSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 12355afda2e6Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 12361ab64890Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 12375afda2e6Smrg echo m68k-unknown-lynxos"$UNAME_RELEASE" 12381ab64890Smrg exit ;; 12391ab64890Smrg mc68030:UNIX_System_V:4.*:*) 12401ab64890Smrg echo m68k-atari-sysv4 12411ab64890Smrg exit ;; 12421ab64890Smrg TSUNAMI:LynxOS:2.*:*) 12435afda2e6Smrg echo sparc-unknown-lynxos"$UNAME_RELEASE" 12441ab64890Smrg exit ;; 12451ab64890Smrg rs6000:LynxOS:2.*:*) 12465afda2e6Smrg echo rs6000-unknown-lynxos"$UNAME_RELEASE" 12471ab64890Smrg exit ;; 124888de56ccSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 12495afda2e6Smrg echo powerpc-unknown-lynxos"$UNAME_RELEASE" 12501ab64890Smrg exit ;; 12511ab64890Smrg SM[BE]S:UNIX_SV:*:*) 12525afda2e6Smrg echo mips-dde-sysv"$UNAME_RELEASE" 12531ab64890Smrg exit ;; 12541ab64890Smrg RM*:ReliantUNIX-*:*:*) 12551ab64890Smrg echo mips-sni-sysv4 12561ab64890Smrg exit ;; 12571ab64890Smrg RM*:SINIX-*:*:*) 12581ab64890Smrg echo mips-sni-sysv4 12591ab64890Smrg exit ;; 12601ab64890Smrg *:SINIX-*:*:*) 12611ab64890Smrg if uname -p 2>/dev/null >/dev/null ; then 126203ea5dc6Smrg UNAME_MACHINE=$( (uname -p) 2>/dev/null) 12635afda2e6Smrg echo "$UNAME_MACHINE"-sni-sysv4 12641ab64890Smrg else 12651ab64890Smrg echo ns32k-sni-sysv 12661ab64890Smrg fi 12671ab64890Smrg exit ;; 1268eb411b4bSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1269eb411b4bSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1270eb411b4bSmrg echo i586-unisys-sysv4 1271eb411b4bSmrg exit ;; 12721ab64890Smrg *:UNIX_System_V:4*:FTX*) 12731ab64890Smrg # From Gerald Hewes <hewes@openmarket.com>. 12741ab64890Smrg # How about differentiating between stratus architectures? -djm 12751ab64890Smrg echo hppa1.1-stratus-sysv4 12761ab64890Smrg exit ;; 12771ab64890Smrg *:*:*:FTX*) 12781ab64890Smrg # From seanf@swdc.stratus.com. 12791ab64890Smrg echo i860-stratus-sysv4 12801ab64890Smrg exit ;; 12811ab64890Smrg i*86:VOS:*:*) 12821ab64890Smrg # From Paul.Green@stratus.com. 12835afda2e6Smrg echo "$UNAME_MACHINE"-stratus-vos 12841ab64890Smrg exit ;; 12851ab64890Smrg *:VOS:*:*) 12861ab64890Smrg # From Paul.Green@stratus.com. 12871ab64890Smrg echo hppa1.1-stratus-vos 12881ab64890Smrg exit ;; 12891ab64890Smrg mc68*:A/UX:*:*) 12905afda2e6Smrg echo m68k-apple-aux"$UNAME_RELEASE" 12911ab64890Smrg exit ;; 12921ab64890Smrg news*:NEWS-OS:6*:*) 12931ab64890Smrg echo mips-sony-newsos6 12941ab64890Smrg exit ;; 12951ab64890Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 129603ea5dc6Smrg if test -d /usr/nec; then 12975afda2e6Smrg echo mips-nec-sysv"$UNAME_RELEASE" 12981ab64890Smrg else 12995afda2e6Smrg echo mips-unknown-sysv"$UNAME_RELEASE" 13001ab64890Smrg fi 1301eb411b4bSmrg exit ;; 13021ab64890Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 13031ab64890Smrg echo powerpc-be-beos 13041ab64890Smrg exit ;; 13051ab64890Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 13061ab64890Smrg echo powerpc-apple-beos 13071ab64890Smrg exit ;; 13081ab64890Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 13091ab64890Smrg echo i586-pc-beos 13101ab64890Smrg exit ;; 131188de56ccSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 131288de56ccSmrg echo i586-pc-haiku 131388de56ccSmrg exit ;; 1314eb411b4bSmrg x86_64:Haiku:*:*) 1315eb411b4bSmrg echo x86_64-unknown-haiku 1316eb411b4bSmrg exit ;; 13171ab64890Smrg SX-4:SUPER-UX:*:*) 13185afda2e6Smrg echo sx4-nec-superux"$UNAME_RELEASE" 13191ab64890Smrg exit ;; 13201ab64890Smrg SX-5:SUPER-UX:*:*) 13215afda2e6Smrg echo sx5-nec-superux"$UNAME_RELEASE" 13221ab64890Smrg exit ;; 13231ab64890Smrg SX-6:SUPER-UX:*:*) 13245afda2e6Smrg echo sx6-nec-superux"$UNAME_RELEASE" 13251ab64890Smrg exit ;; 13261ab64890Smrg SX-7:SUPER-UX:*:*) 13275afda2e6Smrg echo sx7-nec-superux"$UNAME_RELEASE" 13281ab64890Smrg exit ;; 13291ab64890Smrg SX-8:SUPER-UX:*:*) 13305afda2e6Smrg echo sx8-nec-superux"$UNAME_RELEASE" 13311ab64890Smrg exit ;; 13321ab64890Smrg SX-8R:SUPER-UX:*:*) 13335afda2e6Smrg echo sx8r-nec-superux"$UNAME_RELEASE" 13341ab64890Smrg exit ;; 133538ae11fcSmrg SX-ACE:SUPER-UX:*:*) 13365afda2e6Smrg echo sxace-nec-superux"$UNAME_RELEASE" 133738ae11fcSmrg exit ;; 13381ab64890Smrg Power*:Rhapsody:*:*) 13395afda2e6Smrg echo powerpc-apple-rhapsody"$UNAME_RELEASE" 13401ab64890Smrg exit ;; 13411ab64890Smrg *:Rhapsody:*:*) 13425afda2e6Smrg echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" 13431ab64890Smrg exit ;; 134403ea5dc6Smrg arm64:Darwin:*:*) 134503ea5dc6Smrg echo aarch64-apple-darwin"$UNAME_RELEASE" 134603ea5dc6Smrg exit ;; 13471ab64890Smrg *:Darwin:*:*) 134803ea5dc6Smrg UNAME_PROCESSOR=$(uname -p) 134903ea5dc6Smrg case $UNAME_PROCESSOR in 135003ea5dc6Smrg unknown) UNAME_PROCESSOR=powerpc ;; 135103ea5dc6Smrg esac 135203ea5dc6Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 135303ea5dc6Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 135403ea5dc6Smrg # Avoid executing cc if there is no toolchain installed as 135503ea5dc6Smrg # cc will be a stub that puts up a graphical alert 135603ea5dc6Smrg # prompting the user to install developer tools. 135703ea5dc6Smrg CC_FOR_BUILD=no_compiler_found 135803ea5dc6Smrg else 135903ea5dc6Smrg set_cc_for_build 1360818534a1Smrg fi 136103ea5dc6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 136203ea5dc6Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 136303ea5dc6Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 136403ea5dc6Smrg grep IS_64BIT_ARCH >/dev/null 136503ea5dc6Smrg then 136603ea5dc6Smrg case $UNAME_PROCESSOR in 136703ea5dc6Smrg i386) UNAME_PROCESSOR=x86_64 ;; 136803ea5dc6Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 136903ea5dc6Smrg esac 137003ea5dc6Smrg fi 137103ea5dc6Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 137203ea5dc6Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 137303ea5dc6Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 137403ea5dc6Smrg grep IS_PPC >/dev/null 137503ea5dc6Smrg then 137603ea5dc6Smrg UNAME_PROCESSOR=powerpc 1377818534a1Smrg fi 1378862bcd1aSmrg elif test "$UNAME_PROCESSOR" = i386 ; then 137903ea5dc6Smrg # uname -m returns i386 or x86_64 138003ea5dc6Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1381818534a1Smrg fi 13825afda2e6Smrg echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" 13831ab64890Smrg exit ;; 13841ab64890Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 138503ea5dc6Smrg UNAME_PROCESSOR=$(uname -p) 138638ae11fcSmrg if test "$UNAME_PROCESSOR" = x86; then 13871ab64890Smrg UNAME_PROCESSOR=i386 13881ab64890Smrg UNAME_MACHINE=pc 13891ab64890Smrg fi 13905afda2e6Smrg echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" 13911ab64890Smrg exit ;; 13921ab64890Smrg *:QNX:*:4*) 13931ab64890Smrg echo i386-pc-qnx 13941ab64890Smrg exit ;; 13955afda2e6Smrg NEO-*:NONSTOP_KERNEL:*:*) 13965afda2e6Smrg echo neo-tandem-nsk"$UNAME_RELEASE" 1397eb411b4bSmrg exit ;; 1398eb411b4bSmrg NSE-*:NONSTOP_KERNEL:*:*) 13995afda2e6Smrg echo nse-tandem-nsk"$UNAME_RELEASE" 14005afda2e6Smrg exit ;; 14015afda2e6Smrg NSR-*:NONSTOP_KERNEL:*:*) 14025afda2e6Smrg echo nsr-tandem-nsk"$UNAME_RELEASE" 14031ab64890Smrg exit ;; 14045afda2e6Smrg NSV-*:NONSTOP_KERNEL:*:*) 14055afda2e6Smrg echo nsv-tandem-nsk"$UNAME_RELEASE" 14065afda2e6Smrg exit ;; 14075afda2e6Smrg NSX-*:NONSTOP_KERNEL:*:*) 14085afda2e6Smrg echo nsx-tandem-nsk"$UNAME_RELEASE" 14091ab64890Smrg exit ;; 14101ab64890Smrg *:NonStop-UX:*:*) 14111ab64890Smrg echo mips-compaq-nonstopux 14121ab64890Smrg exit ;; 14131ab64890Smrg BS2000:POSIX*:*:*) 14141ab64890Smrg echo bs2000-siemens-sysv 14151ab64890Smrg exit ;; 14161ab64890Smrg DS/*:UNIX_System_V:*:*) 14175afda2e6Smrg echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" 14181ab64890Smrg exit ;; 14191ab64890Smrg *:Plan9:*:*) 14201ab64890Smrg # "uname -m" is not consistent, so use $cputype instead. 386 14211ab64890Smrg # is converted to i386 for consistency with other x86 14221ab64890Smrg # operating systems. 142303ea5dc6Smrg # shellcheck disable=SC2154 142438ae11fcSmrg if test "$cputype" = 386; then 14251ab64890Smrg UNAME_MACHINE=i386 14261ab64890Smrg else 14271ab64890Smrg UNAME_MACHINE="$cputype" 14281ab64890Smrg fi 14295afda2e6Smrg echo "$UNAME_MACHINE"-unknown-plan9 14301ab64890Smrg exit ;; 14311ab64890Smrg *:TOPS-10:*:*) 14321ab64890Smrg echo pdp10-unknown-tops10 14331ab64890Smrg exit ;; 14341ab64890Smrg *:TENEX:*:*) 14351ab64890Smrg echo pdp10-unknown-tenex 14361ab64890Smrg exit ;; 14371ab64890Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 14381ab64890Smrg echo pdp10-dec-tops20 14391ab64890Smrg exit ;; 14401ab64890Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 14411ab64890Smrg echo pdp10-xkl-tops20 14421ab64890Smrg exit ;; 14431ab64890Smrg *:TOPS-20:*:*) 14441ab64890Smrg echo pdp10-unknown-tops20 14451ab64890Smrg exit ;; 14461ab64890Smrg *:ITS:*:*) 14471ab64890Smrg echo pdp10-unknown-its 14481ab64890Smrg exit ;; 14491ab64890Smrg SEI:*:*:SEIUX) 14505afda2e6Smrg echo mips-sei-seiux"$UNAME_RELEASE" 14511ab64890Smrg exit ;; 14521ab64890Smrg *:DragonFly:*:*) 145303ea5dc6Smrg echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" 14541ab64890Smrg exit ;; 14551ab64890Smrg *:*VMS:*:*) 145603ea5dc6Smrg UNAME_MACHINE=$( (uname -p) 2>/dev/null) 14575afda2e6Smrg case "$UNAME_MACHINE" in 14581ab64890Smrg A*) echo alpha-dec-vms ; exit ;; 14591ab64890Smrg I*) echo ia64-dec-vms ; exit ;; 14601ab64890Smrg V*) echo vax-dec-vms ; exit ;; 14611ab64890Smrg esac ;; 14621ab64890Smrg *:XENIX:*:SysV) 14631ab64890Smrg echo i386-pc-xenix 14641ab64890Smrg exit ;; 14651ab64890Smrg i*86:skyos:*:*) 146603ea5dc6Smrg echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" 14671ab64890Smrg exit ;; 14681ab64890Smrg i*86:rdos:*:*) 14695afda2e6Smrg echo "$UNAME_MACHINE"-pc-rdos 14701ab64890Smrg exit ;; 147188de56ccSmrg i*86:AROS:*:*) 14725afda2e6Smrg echo "$UNAME_MACHINE"-pc-aros 147388de56ccSmrg exit ;; 1474eb411b4bSmrg x86_64:VMkernel:*:*) 14755afda2e6Smrg echo "$UNAME_MACHINE"-unknown-esx 1476eb411b4bSmrg exit ;; 147738ae11fcSmrg amd64:Isilon\ OneFS:*:*) 147838ae11fcSmrg echo x86_64-unknown-onefs 147938ae11fcSmrg exit ;; 148003ea5dc6Smrg *:Unleashed:*:*) 148103ea5dc6Smrg echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" 148203ea5dc6Smrg exit ;; 1483862bcd1aSmrgesac 14842d67cb4fSmrg 148503ea5dc6Smrg# No uname command or uname output not recognized. 148603ea5dc6Smrgset_cc_for_build 148703ea5dc6Smrgcat > "$dummy.c" <<EOF 148803ea5dc6Smrg#ifdef _SEQUENT_ 148903ea5dc6Smrg#include <sys/types.h> 149003ea5dc6Smrg#include <sys/utsname.h> 149103ea5dc6Smrg#endif 149203ea5dc6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 149303ea5dc6Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 149403ea5dc6Smrg#include <signal.h> 149503ea5dc6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 149603ea5dc6Smrg#include <sys/utsname.h> 149703ea5dc6Smrg#endif 149803ea5dc6Smrg#endif 149903ea5dc6Smrg#endif 150003ea5dc6Smrgmain () 150103ea5dc6Smrg{ 150203ea5dc6Smrg#if defined (sony) 150303ea5dc6Smrg#if defined (MIPSEB) 150403ea5dc6Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 150503ea5dc6Smrg I don't know.... */ 150603ea5dc6Smrg printf ("mips-sony-bsd\n"); exit (0); 150703ea5dc6Smrg#else 150803ea5dc6Smrg#include <sys/param.h> 150903ea5dc6Smrg printf ("m68k-sony-newsos%s\n", 151003ea5dc6Smrg#ifdef NEWSOS4 151103ea5dc6Smrg "4" 151203ea5dc6Smrg#else 151303ea5dc6Smrg "" 151403ea5dc6Smrg#endif 151503ea5dc6Smrg ); exit (0); 151603ea5dc6Smrg#endif 151703ea5dc6Smrg#endif 151803ea5dc6Smrg 151903ea5dc6Smrg#if defined (NeXT) 152003ea5dc6Smrg#if !defined (__ARCHITECTURE__) 152103ea5dc6Smrg#define __ARCHITECTURE__ "m68k" 152203ea5dc6Smrg#endif 152303ea5dc6Smrg int version; 152403ea5dc6Smrg version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); 152503ea5dc6Smrg if (version < 4) 152603ea5dc6Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 152703ea5dc6Smrg else 152803ea5dc6Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 152903ea5dc6Smrg exit (0); 153003ea5dc6Smrg#endif 153103ea5dc6Smrg 153203ea5dc6Smrg#if defined (MULTIMAX) || defined (n16) 153303ea5dc6Smrg#if defined (UMAXV) 153403ea5dc6Smrg printf ("ns32k-encore-sysv\n"); exit (0); 153503ea5dc6Smrg#else 153603ea5dc6Smrg#if defined (CMU) 153703ea5dc6Smrg printf ("ns32k-encore-mach\n"); exit (0); 153803ea5dc6Smrg#else 153903ea5dc6Smrg printf ("ns32k-encore-bsd\n"); exit (0); 154003ea5dc6Smrg#endif 154103ea5dc6Smrg#endif 154203ea5dc6Smrg#endif 154303ea5dc6Smrg 154403ea5dc6Smrg#if defined (__386BSD__) 154503ea5dc6Smrg printf ("i386-pc-bsd\n"); exit (0); 154603ea5dc6Smrg#endif 154703ea5dc6Smrg 154803ea5dc6Smrg#if defined (sequent) 154903ea5dc6Smrg#if defined (i386) 155003ea5dc6Smrg printf ("i386-sequent-dynix\n"); exit (0); 155103ea5dc6Smrg#endif 155203ea5dc6Smrg#if defined (ns32000) 155303ea5dc6Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 155403ea5dc6Smrg#endif 155503ea5dc6Smrg#endif 155603ea5dc6Smrg 155703ea5dc6Smrg#if defined (_SEQUENT_) 155803ea5dc6Smrg struct utsname un; 155903ea5dc6Smrg 156003ea5dc6Smrg uname(&un); 156103ea5dc6Smrg if (strncmp(un.version, "V2", 2) == 0) { 156203ea5dc6Smrg printf ("i386-sequent-ptx2\n"); exit (0); 156303ea5dc6Smrg } 156403ea5dc6Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 156503ea5dc6Smrg printf ("i386-sequent-ptx1\n"); exit (0); 156603ea5dc6Smrg } 156703ea5dc6Smrg printf ("i386-sequent-ptx\n"); exit (0); 156803ea5dc6Smrg#endif 156903ea5dc6Smrg 157003ea5dc6Smrg#if defined (vax) 157103ea5dc6Smrg#if !defined (ultrix) 157203ea5dc6Smrg#include <sys/param.h> 157303ea5dc6Smrg#if defined (BSD) 157403ea5dc6Smrg#if BSD == 43 157503ea5dc6Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 157603ea5dc6Smrg#else 157703ea5dc6Smrg#if BSD == 199006 157803ea5dc6Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 157903ea5dc6Smrg#else 158003ea5dc6Smrg printf ("vax-dec-bsd\n"); exit (0); 158103ea5dc6Smrg#endif 158203ea5dc6Smrg#endif 158303ea5dc6Smrg#else 158403ea5dc6Smrg printf ("vax-dec-bsd\n"); exit (0); 158503ea5dc6Smrg#endif 158603ea5dc6Smrg#else 158703ea5dc6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 158803ea5dc6Smrg struct utsname un; 158903ea5dc6Smrg uname (&un); 159003ea5dc6Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 159103ea5dc6Smrg#else 159203ea5dc6Smrg printf ("vax-dec-ultrix\n"); exit (0); 159303ea5dc6Smrg#endif 159403ea5dc6Smrg#endif 159503ea5dc6Smrg#endif 159603ea5dc6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 159703ea5dc6Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 159803ea5dc6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 159903ea5dc6Smrg struct utsname *un; 160003ea5dc6Smrg uname (&un); 160103ea5dc6Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 160203ea5dc6Smrg#else 160303ea5dc6Smrg printf ("mips-dec-ultrix\n"); exit (0); 160403ea5dc6Smrg#endif 160503ea5dc6Smrg#endif 160603ea5dc6Smrg#endif 160703ea5dc6Smrg 160803ea5dc6Smrg#if defined (alliant) && defined (i860) 160903ea5dc6Smrg printf ("i860-alliant-bsd\n"); exit (0); 161003ea5dc6Smrg#endif 161103ea5dc6Smrg 161203ea5dc6Smrg exit (1); 161303ea5dc6Smrg} 161403ea5dc6SmrgEOF 161503ea5dc6Smrg 161603ea5dc6Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && 161703ea5dc6Smrg { echo "$SYSTEM_NAME"; exit; } 161803ea5dc6Smrg 161903ea5dc6Smrg# Apollos put the system type in the environment. 162003ea5dc6Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 162103ea5dc6Smrg 16225afda2e6Smrgecho "$0: unable to guess system type" >&2 16235afda2e6Smrg 16245afda2e6Smrgcase "$UNAME_MACHINE:$UNAME_SYSTEM" in 16255afda2e6Smrg mips:Linux | mips64:Linux) 16265afda2e6Smrg # If we got here on MIPS GNU/Linux, output extra information. 16275afda2e6Smrg cat >&2 <<EOF 16285afda2e6Smrg 16295afda2e6SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 16305afda2e6Smrgthe system type. Please install a C compiler and try again. 16315afda2e6SmrgEOF 16325afda2e6Smrg ;; 16335afda2e6Smrgesac 16345afda2e6Smrg 16351ab64890Smrgcat >&2 <<EOF 16361ab64890Smrg 163738ae11fcSmrgThis script (version $timestamp), has failed to recognize the 16385afda2e6Smrgoperating system you are using. If your script is old, overwrite *all* 16395afda2e6Smrgcopies of config.guess and config.sub with the latest versions from: 16401ab64890Smrg 16415afda2e6Smrg https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 16421ab64890Smrgand 16435afda2e6Smrg https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 164403ea5dc6SmrgEOF 164503ea5dc6Smrg 164603ea5dc6Smrgyear=$(echo $timestamp | sed 's,-.*,,') 164703ea5dc6Smrg# shellcheck disable=SC2003 164803ea5dc6Smrgif test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then 164903ea5dc6Smrg cat >&2 <<EOF 16501ab64890Smrg 165138ae11fcSmrgIf $0 has already been updated, send the following data and any 165238ae11fcSmrginformation you think might be pertinent to config-patches@gnu.org to 165338ae11fcSmrgprovide the necessary information to handle your system. 16541ab64890Smrg 16551ab64890Smrgconfig.guess timestamp = $timestamp 16561ab64890Smrg 165703ea5dc6Smrguname -m = $( (uname -m) 2>/dev/null || echo unknown) 165803ea5dc6Smrguname -r = $( (uname -r) 2>/dev/null || echo unknown) 165903ea5dc6Smrguname -s = $( (uname -s) 2>/dev/null || echo unknown) 166003ea5dc6Smrguname -v = $( (uname -v) 2>/dev/null || echo unknown) 16611ab64890Smrg 166203ea5dc6Smrg/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) 166303ea5dc6Smrg/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) 16641ab64890Smrg 166503ea5dc6Smrghostinfo = $( (hostinfo) 2>/dev/null) 166603ea5dc6Smrg/bin/universe = $( (/bin/universe) 2>/dev/null) 166703ea5dc6Smrg/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) 166803ea5dc6Smrg/bin/arch = $( (/bin/arch) 2>/dev/null) 166903ea5dc6Smrg/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) 167003ea5dc6Smrg/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) 16711ab64890Smrg 16725afda2e6SmrgUNAME_MACHINE = "$UNAME_MACHINE" 16735afda2e6SmrgUNAME_RELEASE = "$UNAME_RELEASE" 16745afda2e6SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 16755afda2e6SmrgUNAME_VERSION = "$UNAME_VERSION" 16761ab64890SmrgEOF 167703ea5dc6Smrgfi 16781ab64890Smrg 16791ab64890Smrgexit 1 16801ab64890Smrg 16811ab64890Smrg# Local variables: 168203ea5dc6Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 16831ab64890Smrg# time-stamp-start: "timestamp='" 16841ab64890Smrg# time-stamp-format: "%:y-%02m-%02d" 16851ab64890Smrg# time-stamp-end: "'" 16861ab64890Smrg# End: 1687