config.guess revision a3bd7f05
1444c061aSmrg#! /bin/sh 2444c061aSmrg# Attempt to guess a canonical system name. 3a3bd7f05Smrg# Copyright 1992-2020 Free Software Foundation, Inc. 4444c061aSmrg 5a3bd7f05Smrgtimestamp='2020-04-26' 6444c061aSmrg 7444c061aSmrg# This file is free software; you can redistribute it and/or modify it 8444c061aSmrg# under the terms of the GNU General Public License as published by 99e7bcd65Smrg# the Free Software Foundation; either version 3 of the License, or 10444c061aSmrg# (at your option) any later version. 11444c061aSmrg# 12444c061aSmrg# This program is distributed in the hope that it will be useful, but 13444c061aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14444c061aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15444c061aSmrg# General Public License for more details. 16444c061aSmrg# 17444c061aSmrg# You should have received a copy of the GNU General Public License 180568f49bSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19444c061aSmrg# 20444c061aSmrg# As a special exception to the GNU General Public License, if you 21444c061aSmrg# distribute this file as part of a program that contains a 22444c061aSmrg# configuration script generated by Autoconf, you may include it under 239e7bcd65Smrg# the same distribution terms that you use for the rest of that 249e7bcd65Smrg# program. This Exception is an additional permission under section 7 259e7bcd65Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26444c061aSmrg# 27339a7c43Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 28444c061aSmrg# 291477040fSmrg# You can get the latest version of this script from: 300568f49bSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 319e7bcd65Smrg# 32339a7c43Smrg# Please send patches to <config-patches@gnu.org>. 339e7bcd65Smrg 34444c061aSmrg 35444c061aSmrgme=`echo "$0" | sed -e 's,.*/,,'` 36444c061aSmrg 37444c061aSmrgusage="\ 38444c061aSmrgUsage: $0 [OPTION] 39444c061aSmrg 40444c061aSmrgOutput the configuration name of the system \`$me' is run on. 41444c061aSmrg 420568f49bSmrgOptions: 43444c061aSmrg -h, --help print this help, then exit 44444c061aSmrg -t, --time-stamp print date of last modification, then exit 45444c061aSmrg -v, --version print version number, then exit 46444c061aSmrg 47444c061aSmrgReport bugs and patches to <config-patches@gnu.org>." 48444c061aSmrg 49444c061aSmrgversion="\ 50444c061aSmrgGNU config.guess ($timestamp) 51444c061aSmrg 52444c061aSmrgOriginally written by Per Bothner. 53a3bd7f05SmrgCopyright 1992-2020 Free Software Foundation, Inc. 54444c061aSmrg 55444c061aSmrgThis is free software; see the source for copying conditions. There is NO 56444c061aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 57444c061aSmrg 58444c061aSmrghelp=" 59444c061aSmrgTry \`$me --help' for more information." 60444c061aSmrg 61444c061aSmrg# Parse command line 62444c061aSmrgwhile test $# -gt 0 ; do 63444c061aSmrg case $1 in 64444c061aSmrg --time-stamp | --time* | -t ) 65444c061aSmrg echo "$timestamp" ; exit ;; 66444c061aSmrg --version | -v ) 67444c061aSmrg echo "$version" ; exit ;; 68444c061aSmrg --help | --h* | -h ) 69444c061aSmrg echo "$usage"; exit ;; 70444c061aSmrg -- ) # Stop option processing 71444c061aSmrg shift; break ;; 72444c061aSmrg - ) # Use stdin as input. 73444c061aSmrg break ;; 74444c061aSmrg -* ) 75444c061aSmrg echo "$me: invalid option $1$help" >&2 76444c061aSmrg exit 1 ;; 77444c061aSmrg * ) 78444c061aSmrg break ;; 79444c061aSmrg esac 80444c061aSmrgdone 81444c061aSmrg 82444c061aSmrgif test $# != 0; then 83444c061aSmrg echo "$me: too many arguments$help" >&2 84444c061aSmrg exit 1 85444c061aSmrgfi 86444c061aSmrg 87444c061aSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 88444c061aSmrg# compiler to aid in system detection is discouraged as it requires 89444c061aSmrg# temporary files to be created and, as you can see below, it is a 90444c061aSmrg# headache to deal with in a portable fashion. 91444c061aSmrg 92444c061aSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 93444c061aSmrg# use `HOST_CC' if defined, but it is deprecated. 94444c061aSmrg 95444c061aSmrg# Portable tmp directory creation inspired by the Autoconf team. 96444c061aSmrg 97a3bd7f05Smrgtmp= 98a3bd7f05Smrg# shellcheck disable=SC2172 99a3bd7f05Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 100a3bd7f05Smrg 101a3bd7f05Smrgset_cc_for_build() { 102a3bd7f05Smrg # prevent multiple calls if $tmp is already set 103a3bd7f05Smrg test "$tmp" && return 0 104a3bd7f05Smrg : "${TMPDIR=/tmp}" 105a3bd7f05Smrg # shellcheck disable=SC2039 106a3bd7f05Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 107a3bd7f05Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 108a3bd7f05Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 109a3bd7f05Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 110a3bd7f05Smrg dummy=$tmp/dummy 111a3bd7f05Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 112a3bd7f05Smrg ,,) echo "int x;" > "$dummy.c" 113a3bd7f05Smrg for driver in cc gcc c89 c99 ; do 114a3bd7f05Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 115a3bd7f05Smrg CC_FOR_BUILD="$driver" 116a3bd7f05Smrg break 117a3bd7f05Smrg fi 118a3bd7f05Smrg done 119a3bd7f05Smrg if test x"$CC_FOR_BUILD" = x ; then 120a3bd7f05Smrg CC_FOR_BUILD=no_compiler_found 121a3bd7f05Smrg fi 122a3bd7f05Smrg ;; 123a3bd7f05Smrg ,,*) CC_FOR_BUILD=$CC ;; 124a3bd7f05Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 125a3bd7f05Smrg esac 126a3bd7f05Smrg} 127444c061aSmrg 128444c061aSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 129444c061aSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 130a3bd7f05Smrgif test -f /.attbin/uname ; then 131444c061aSmrg PATH=$PATH:/.attbin ; export PATH 132444c061aSmrgfi 133444c061aSmrg 134444c061aSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 135444c061aSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 136444c061aSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 137444c061aSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 138444c061aSmrg 1390568f49bSmrgcase "$UNAME_SYSTEM" in 140339a7c43SmrgLinux|GNU|GNU/*) 141339a7c43Smrg # If the system lacks a compiler, then just pick glibc. 142339a7c43Smrg # We could probably try harder. 143339a7c43Smrg LIBC=gnu 144339a7c43Smrg 145a3bd7f05Smrg set_cc_for_build 1460568f49bSmrg cat <<-EOF > "$dummy.c" 147339a7c43Smrg #include <features.h> 148339a7c43Smrg #if defined(__UCLIBC__) 149339a7c43Smrg LIBC=uclibc 150339a7c43Smrg #elif defined(__dietlibc__) 151339a7c43Smrg LIBC=dietlibc 152339a7c43Smrg #else 153339a7c43Smrg LIBC=gnu 154339a7c43Smrg #endif 155339a7c43Smrg EOF 1560568f49bSmrg eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" 1570568f49bSmrg 1580568f49bSmrg # If ldd exists, use it to detect musl libc. 1590568f49bSmrg if command -v ldd >/dev/null && \ 1600568f49bSmrg ldd --version 2>&1 | grep -q ^musl 1610568f49bSmrg then 1620568f49bSmrg LIBC=musl 1630568f49bSmrg fi 164339a7c43Smrg ;; 165339a7c43Smrgesac 166339a7c43Smrg 167444c061aSmrg# Note: order is significant - the case branches are not exclusive. 168444c061aSmrg 1690568f49bSmrgcase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 170444c061aSmrg *:NetBSD:*:*) 171444c061aSmrg # NetBSD (nbsd) targets should (where applicable) match one or 1729e7bcd65Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 173444c061aSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 174444c061aSmrg # switched to ELF, *-*-netbsd* would select the old 175444c061aSmrg # object file format. This provides both forward 176444c061aSmrg # compatibility and a consistent mechanism for selecting the 177444c061aSmrg # object file format. 178444c061aSmrg # 179444c061aSmrg # Note: NetBSD doesn't particularly care about the vendor 180444c061aSmrg # portion of the name. We always set it to "unknown". 181444c061aSmrg sysctl="sysctl -n hw.machine_arch" 1820568f49bSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 1830568f49bSmrg "/sbin/$sysctl" 2>/dev/null || \ 1840568f49bSmrg "/usr/sbin/$sysctl" 2>/dev/null || \ 1850568f49bSmrg echo unknown)` 1860568f49bSmrg case "$UNAME_MACHINE_ARCH" in 187444c061aSmrg armeb) machine=armeb-unknown ;; 188444c061aSmrg arm*) machine=arm-unknown ;; 189444c061aSmrg sh3el) machine=shl-unknown ;; 190444c061aSmrg sh3eb) machine=sh-unknown ;; 1912265a131Smrg sh5el) machine=sh5le-unknown ;; 1920568f49bSmrg earmv*) 1930568f49bSmrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 1940568f49bSmrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 1950568f49bSmrg machine="${arch}${endian}"-unknown 1960568f49bSmrg ;; 1970568f49bSmrg *) machine="$UNAME_MACHINE_ARCH"-unknown ;; 198444c061aSmrg esac 199444c061aSmrg # The Operating System including object format, if it has switched 2000568f49bSmrg # to ELF recently (or will in the future) and ABI. 2010568f49bSmrg case "$UNAME_MACHINE_ARCH" in 2020568f49bSmrg earm*) 2030568f49bSmrg os=netbsdelf 2040568f49bSmrg ;; 205444c061aSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 206a3bd7f05Smrg set_cc_for_build 207444c061aSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 2081477040fSmrg | grep -q __ELF__ 209444c061aSmrg then 210444c061aSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 211444c061aSmrg # Return netbsd for either. FIX? 212444c061aSmrg os=netbsd 213444c061aSmrg else 214444c061aSmrg os=netbsdelf 215444c061aSmrg fi 216444c061aSmrg ;; 217444c061aSmrg *) 2189e7bcd65Smrg os=netbsd 219444c061aSmrg ;; 220444c061aSmrg esac 2210568f49bSmrg # Determine ABI tags. 2220568f49bSmrg case "$UNAME_MACHINE_ARCH" in 2230568f49bSmrg earm*) 2240568f49bSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2250568f49bSmrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2260568f49bSmrg ;; 2270568f49bSmrg esac 228444c061aSmrg # The OS release 229444c061aSmrg # Debian GNU/NetBSD machines have a different userland, and 230444c061aSmrg # thus, need a distinct triplet. However, they do not need 231444c061aSmrg # kernel version information, so it can be replaced with a 232444c061aSmrg # suitable tag, in the style of linux-gnu. 2330568f49bSmrg case "$UNAME_VERSION" in 234444c061aSmrg Debian*) 235444c061aSmrg release='-gnu' 236444c061aSmrg ;; 237444c061aSmrg *) 2380568f49bSmrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 239444c061aSmrg ;; 240444c061aSmrg esac 241444c061aSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 242444c061aSmrg # contains redundant information, the shorter form: 243444c061aSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 244a3bd7f05Smrg echo "$machine-${os}${release}${abi-}" 245444c061aSmrg exit ;; 2469e7bcd65Smrg *:Bitrig:*:*) 2479e7bcd65Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 2480568f49bSmrg echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" 2499e7bcd65Smrg exit ;; 250444c061aSmrg *:OpenBSD:*:*) 251444c061aSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 2520568f49bSmrg echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" 2530568f49bSmrg exit ;; 2540568f49bSmrg *:LibertyBSD:*:*) 2550568f49bSmrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 2560568f49bSmrg echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" 2570568f49bSmrg exit ;; 2580568f49bSmrg *:MidnightBSD:*:*) 2590568f49bSmrg echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" 260444c061aSmrg exit ;; 261444c061aSmrg *:ekkoBSD:*:*) 2620568f49bSmrg echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" 263444c061aSmrg exit ;; 2642265a131Smrg *:SolidBSD:*:*) 2650568f49bSmrg echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" 2662265a131Smrg exit ;; 267a3bd7f05Smrg *:OS108:*:*) 268a3bd7f05Smrg echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" 269a3bd7f05Smrg exit ;; 270444c061aSmrg macppc:MirBSD:*:*) 2710568f49bSmrg echo powerpc-unknown-mirbsd"$UNAME_RELEASE" 272444c061aSmrg exit ;; 273444c061aSmrg *:MirBSD:*:*) 2740568f49bSmrg echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" 2750568f49bSmrg exit ;; 2760568f49bSmrg *:Sortix:*:*) 2770568f49bSmrg echo "$UNAME_MACHINE"-unknown-sortix 278444c061aSmrg exit ;; 279a3bd7f05Smrg *:Twizzler:*:*) 280a3bd7f05Smrg echo "$UNAME_MACHINE"-unknown-twizzler 281a3bd7f05Smrg exit ;; 2820568f49bSmrg *:Redox:*:*) 2830568f49bSmrg echo "$UNAME_MACHINE"-unknown-redox 2840568f49bSmrg exit ;; 2850568f49bSmrg mips:OSF1:*.*) 286a3bd7f05Smrg echo mips-dec-osf1 287a3bd7f05Smrg exit ;; 288444c061aSmrg alpha:OSF1:*:*) 289444c061aSmrg case $UNAME_RELEASE in 290444c061aSmrg *4.0) 291444c061aSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 292444c061aSmrg ;; 293444c061aSmrg *5.*) 2949e7bcd65Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 295444c061aSmrg ;; 296444c061aSmrg esac 297444c061aSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 298444c061aSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 299444c061aSmrg # covers most systems running today. This code pipes the CPU 300444c061aSmrg # types through head -n 1, so we only detect the type of CPU 0. 301444c061aSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 302444c061aSmrg case "$ALPHA_CPU_TYPE" in 303444c061aSmrg "EV4 (21064)") 3040568f49bSmrg UNAME_MACHINE=alpha ;; 305444c061aSmrg "EV4.5 (21064)") 3060568f49bSmrg UNAME_MACHINE=alpha ;; 307444c061aSmrg "LCA4 (21066/21068)") 3080568f49bSmrg UNAME_MACHINE=alpha ;; 309444c061aSmrg "EV5 (21164)") 3100568f49bSmrg UNAME_MACHINE=alphaev5 ;; 311444c061aSmrg "EV5.6 (21164A)") 3120568f49bSmrg UNAME_MACHINE=alphaev56 ;; 313444c061aSmrg "EV5.6 (21164PC)") 3140568f49bSmrg UNAME_MACHINE=alphapca56 ;; 315444c061aSmrg "EV5.7 (21164PC)") 3160568f49bSmrg UNAME_MACHINE=alphapca57 ;; 317444c061aSmrg "EV6 (21264)") 3180568f49bSmrg UNAME_MACHINE=alphaev6 ;; 319444c061aSmrg "EV6.7 (21264A)") 3200568f49bSmrg UNAME_MACHINE=alphaev67 ;; 321444c061aSmrg "EV6.8CB (21264C)") 3220568f49bSmrg UNAME_MACHINE=alphaev68 ;; 323444c061aSmrg "EV6.8AL (21264B)") 3240568f49bSmrg UNAME_MACHINE=alphaev68 ;; 325444c061aSmrg "EV6.8CX (21264D)") 3260568f49bSmrg UNAME_MACHINE=alphaev68 ;; 327444c061aSmrg "EV6.9A (21264/EV69A)") 3280568f49bSmrg UNAME_MACHINE=alphaev69 ;; 329444c061aSmrg "EV7 (21364)") 3300568f49bSmrg UNAME_MACHINE=alphaev7 ;; 331444c061aSmrg "EV7.9 (21364A)") 3320568f49bSmrg UNAME_MACHINE=alphaev79 ;; 333444c061aSmrg esac 334444c061aSmrg # A Pn.n version is a patched version. 335444c061aSmrg # A Vn.n version is a released version. 336444c061aSmrg # A Tn.n version is a released field test version. 337444c061aSmrg # A Xn.n version is an unreleased experimental baselevel. 338444c061aSmrg # 1.2 uses "1.2" for uname -r. 3390568f49bSmrg echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" 3409e7bcd65Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 3419e7bcd65Smrg exitcode=$? 3429e7bcd65Smrg trap '' 0 3439e7bcd65Smrg exit $exitcode ;; 344444c061aSmrg Amiga*:UNIX_System_V:4.0:*) 345444c061aSmrg echo m68k-unknown-sysv4 346444c061aSmrg exit ;; 347444c061aSmrg *:[Aa]miga[Oo][Ss]:*:*) 3480568f49bSmrg echo "$UNAME_MACHINE"-unknown-amigaos 349444c061aSmrg exit ;; 350444c061aSmrg *:[Mm]orph[Oo][Ss]:*:*) 3510568f49bSmrg echo "$UNAME_MACHINE"-unknown-morphos 352444c061aSmrg exit ;; 353444c061aSmrg *:OS/390:*:*) 354444c061aSmrg echo i370-ibm-openedition 355444c061aSmrg exit ;; 356444c061aSmrg *:z/VM:*:*) 357444c061aSmrg echo s390-ibm-zvmoe 358444c061aSmrg exit ;; 359444c061aSmrg *:OS400:*:*) 3609e7bcd65Smrg echo powerpc-ibm-os400 361444c061aSmrg exit ;; 362444c061aSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3630568f49bSmrg echo arm-acorn-riscix"$UNAME_RELEASE" 364444c061aSmrg exit ;; 3659e7bcd65Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 366444c061aSmrg echo arm-unknown-riscos 367444c061aSmrg exit ;; 368444c061aSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 369444c061aSmrg echo hppa1.1-hitachi-hiuxmpp 370444c061aSmrg exit ;; 371444c061aSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 372444c061aSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 373444c061aSmrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 374444c061aSmrg echo pyramid-pyramid-sysv3 375444c061aSmrg else 376444c061aSmrg echo pyramid-pyramid-bsd 377444c061aSmrg fi 378444c061aSmrg exit ;; 379444c061aSmrg NILE*:*:*:dcosx) 380444c061aSmrg echo pyramid-pyramid-svr4 381444c061aSmrg exit ;; 382444c061aSmrg DRS?6000:unix:4.0:6*) 383444c061aSmrg echo sparc-icl-nx6 384444c061aSmrg exit ;; 385444c061aSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 386444c061aSmrg case `/usr/bin/uname -p` in 387444c061aSmrg sparc) echo sparc-icl-nx7; exit ;; 388444c061aSmrg esac ;; 3891477040fSmrg s390x:SunOS:*:*) 3900568f49bSmrg echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" 3911477040fSmrg exit ;; 392444c061aSmrg sun4H:SunOS:5.*:*) 3930568f49bSmrg echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 394444c061aSmrg exit ;; 395444c061aSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3960568f49bSmrg echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" 397444c061aSmrg exit ;; 3981477040fSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 3990568f49bSmrg echo i386-pc-auroraux"$UNAME_RELEASE" 4001477040fSmrg exit ;; 4012265a131Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 402a3bd7f05Smrg set_cc_for_build 4030568f49bSmrg SUN_ARCH=i386 4041477040fSmrg # If there is a compiler, see if it is configured for 64-bit objects. 4051477040fSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 4061477040fSmrg # This test works for both compilers. 4070568f49bSmrg if [ "$CC_FOR_BUILD" != no_compiler_found ]; then 4081477040fSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4090568f49bSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 4101477040fSmrg grep IS_64BIT_ARCH >/dev/null 4111477040fSmrg then 4120568f49bSmrg SUN_ARCH=x86_64 4131477040fSmrg fi 4141477040fSmrg fi 4150568f49bSmrg echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 416444c061aSmrg exit ;; 417444c061aSmrg sun4*:SunOS:6*:*) 418444c061aSmrg # According to config.sub, this is the proper way to canonicalize 419444c061aSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 420444c061aSmrg # it's likely to be more like Solaris than SunOS4. 4210568f49bSmrg echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 422444c061aSmrg exit ;; 423444c061aSmrg sun4*:SunOS:*:*) 424444c061aSmrg case "`/usr/bin/arch -k`" in 425444c061aSmrg Series*|S4*) 426444c061aSmrg UNAME_RELEASE=`uname -v` 427444c061aSmrg ;; 428444c061aSmrg esac 429444c061aSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 4300568f49bSmrg echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" 431444c061aSmrg exit ;; 432444c061aSmrg sun3*:SunOS:*:*) 4330568f49bSmrg echo m68k-sun-sunos"$UNAME_RELEASE" 434444c061aSmrg exit ;; 435444c061aSmrg sun*:*:4.2BSD:*) 436444c061aSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 4370568f49bSmrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 438444c061aSmrg case "`/bin/arch`" in 439444c061aSmrg sun3) 4400568f49bSmrg echo m68k-sun-sunos"$UNAME_RELEASE" 441444c061aSmrg ;; 442444c061aSmrg sun4) 4430568f49bSmrg echo sparc-sun-sunos"$UNAME_RELEASE" 444444c061aSmrg ;; 445444c061aSmrg esac 446444c061aSmrg exit ;; 447444c061aSmrg aushp:SunOS:*:*) 4480568f49bSmrg echo sparc-auspex-sunos"$UNAME_RELEASE" 449444c061aSmrg exit ;; 450444c061aSmrg # The situation for MiNT is a little confusing. The machine name 451444c061aSmrg # can be virtually everything (everything which is not 452444c061aSmrg # "atarist" or "atariste" at least should have a processor 453444c061aSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 454444c061aSmrg # to the lowercase version "mint" (or "freemint"). Finally 455444c061aSmrg # the system name "TOS" denotes a system which is actually not 456444c061aSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 457444c061aSmrg # be no problem. 458444c061aSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4590568f49bSmrg echo m68k-atari-mint"$UNAME_RELEASE" 460444c061aSmrg exit ;; 461444c061aSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4620568f49bSmrg echo m68k-atari-mint"$UNAME_RELEASE" 4639e7bcd65Smrg exit ;; 464444c061aSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4650568f49bSmrg echo m68k-atari-mint"$UNAME_RELEASE" 466444c061aSmrg exit ;; 467444c061aSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4680568f49bSmrg echo m68k-milan-mint"$UNAME_RELEASE" 4699e7bcd65Smrg exit ;; 470444c061aSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4710568f49bSmrg echo m68k-hades-mint"$UNAME_RELEASE" 4729e7bcd65Smrg exit ;; 473444c061aSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4740568f49bSmrg echo m68k-unknown-mint"$UNAME_RELEASE" 4759e7bcd65Smrg exit ;; 476444c061aSmrg m68k:machten:*:*) 4770568f49bSmrg echo m68k-apple-machten"$UNAME_RELEASE" 478444c061aSmrg exit ;; 479444c061aSmrg powerpc:machten:*:*) 4800568f49bSmrg echo powerpc-apple-machten"$UNAME_RELEASE" 481444c061aSmrg exit ;; 482444c061aSmrg RISC*:Mach:*:*) 483444c061aSmrg echo mips-dec-mach_bsd4.3 484444c061aSmrg exit ;; 485444c061aSmrg RISC*:ULTRIX:*:*) 4860568f49bSmrg echo mips-dec-ultrix"$UNAME_RELEASE" 487444c061aSmrg exit ;; 488444c061aSmrg VAX*:ULTRIX*:*:*) 4890568f49bSmrg echo vax-dec-ultrix"$UNAME_RELEASE" 490444c061aSmrg exit ;; 491444c061aSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4920568f49bSmrg echo clipper-intergraph-clix"$UNAME_RELEASE" 493444c061aSmrg exit ;; 494444c061aSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 495a3bd7f05Smrg set_cc_for_build 4960568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 497444c061aSmrg#ifdef __cplusplus 498444c061aSmrg#include <stdio.h> /* for printf() prototype */ 499444c061aSmrg int main (int argc, char *argv[]) { 500444c061aSmrg#else 501444c061aSmrg int main (argc, argv) int argc; char *argv[]; { 502444c061aSmrg#endif 503444c061aSmrg #if defined (host_mips) && defined (MIPSEB) 504444c061aSmrg #if defined (SYSTYPE_SYSV) 5050568f49bSmrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 506444c061aSmrg #endif 507444c061aSmrg #if defined (SYSTYPE_SVR4) 5080568f49bSmrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 509444c061aSmrg #endif 510444c061aSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 5110568f49bSmrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 512444c061aSmrg #endif 513444c061aSmrg #endif 514444c061aSmrg exit (-1); 515444c061aSmrg } 516444c061aSmrgEOF 5170568f49bSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 5180568f49bSmrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 5190568f49bSmrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 520444c061aSmrg { echo "$SYSTEM_NAME"; exit; } 5210568f49bSmrg echo mips-mips-riscos"$UNAME_RELEASE" 522444c061aSmrg exit ;; 523444c061aSmrg Motorola:PowerMAX_OS:*:*) 524444c061aSmrg echo powerpc-motorola-powermax 525444c061aSmrg exit ;; 526444c061aSmrg Motorola:*:4.3:PL8-*) 527444c061aSmrg echo powerpc-harris-powermax 528444c061aSmrg exit ;; 529444c061aSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 530444c061aSmrg echo powerpc-harris-powermax 531444c061aSmrg exit ;; 532444c061aSmrg Night_Hawk:Power_UNIX:*:*) 533444c061aSmrg echo powerpc-harris-powerunix 534444c061aSmrg exit ;; 535444c061aSmrg m88k:CX/UX:7*:*) 536444c061aSmrg echo m88k-harris-cxux7 537444c061aSmrg exit ;; 538444c061aSmrg m88k:*:4*:R4*) 539444c061aSmrg echo m88k-motorola-sysv4 540444c061aSmrg exit ;; 541444c061aSmrg m88k:*:3*:R3*) 542444c061aSmrg echo m88k-motorola-sysv3 543444c061aSmrg exit ;; 544444c061aSmrg AViiON:dgux:*:*) 5459e7bcd65Smrg # DG/UX returns AViiON for all architectures 5469e7bcd65Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 5470568f49bSmrg if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] 548444c061aSmrg then 5490568f49bSmrg if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ 5500568f49bSmrg [ "$TARGET_BINARY_INTERFACE"x = x ] 551444c061aSmrg then 5520568f49bSmrg echo m88k-dg-dgux"$UNAME_RELEASE" 553444c061aSmrg else 5540568f49bSmrg echo m88k-dg-dguxbcs"$UNAME_RELEASE" 555444c061aSmrg fi 556444c061aSmrg else 5570568f49bSmrg echo i586-dg-dgux"$UNAME_RELEASE" 558444c061aSmrg fi 5599e7bcd65Smrg exit ;; 560444c061aSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 561444c061aSmrg echo m88k-dolphin-sysv3 562444c061aSmrg exit ;; 563444c061aSmrg M88*:*:R3*:*) 564444c061aSmrg # Delta 88k system running SVR3 565444c061aSmrg echo m88k-motorola-sysv3 566444c061aSmrg exit ;; 567444c061aSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 568444c061aSmrg echo m88k-tektronix-sysv3 569444c061aSmrg exit ;; 570444c061aSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 571444c061aSmrg echo m68k-tektronix-bsd 572444c061aSmrg exit ;; 573444c061aSmrg *:IRIX*:*:*) 5740568f49bSmrg echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" 575444c061aSmrg exit ;; 576444c061aSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 577444c061aSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 578444c061aSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 579444c061aSmrg i*86:AIX:*:*) 580444c061aSmrg echo i386-ibm-aix 581444c061aSmrg exit ;; 582444c061aSmrg ia64:AIX:*:*) 583444c061aSmrg if [ -x /usr/bin/oslevel ] ; then 584444c061aSmrg IBM_REV=`/usr/bin/oslevel` 585444c061aSmrg else 5860568f49bSmrg IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 587444c061aSmrg fi 5880568f49bSmrg echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" 589444c061aSmrg exit ;; 590444c061aSmrg *:AIX:2:3) 591444c061aSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 592a3bd7f05Smrg set_cc_for_build 5930568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 594444c061aSmrg #include <sys/systemcfg.h> 595444c061aSmrg 596444c061aSmrg main() 597444c061aSmrg { 598444c061aSmrg if (!__power_pc()) 599444c061aSmrg exit(1); 600444c061aSmrg puts("powerpc-ibm-aix3.2.5"); 601444c061aSmrg exit(0); 602444c061aSmrg } 603444c061aSmrgEOF 6040568f49bSmrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 605444c061aSmrg then 606444c061aSmrg echo "$SYSTEM_NAME" 607444c061aSmrg else 608444c061aSmrg echo rs6000-ibm-aix3.2.5 609444c061aSmrg fi 610444c061aSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 611444c061aSmrg echo rs6000-ibm-aix3.2.4 612444c061aSmrg else 613444c061aSmrg echo rs6000-ibm-aix3.2 614444c061aSmrg fi 615444c061aSmrg exit ;; 6169e7bcd65Smrg *:AIX:*:[4567]) 617444c061aSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 6180568f49bSmrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 619444c061aSmrg IBM_ARCH=rs6000 620444c061aSmrg else 621444c061aSmrg IBM_ARCH=powerpc 622444c061aSmrg fi 623339a7c43Smrg if [ -x /usr/bin/lslpp ] ; then 624339a7c43Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 625339a7c43Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 626444c061aSmrg else 6270568f49bSmrg IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 628444c061aSmrg fi 6290568f49bSmrg echo "$IBM_ARCH"-ibm-aix"$IBM_REV" 630444c061aSmrg exit ;; 631444c061aSmrg *:AIX:*:*) 632444c061aSmrg echo rs6000-ibm-aix 633444c061aSmrg exit ;; 6340568f49bSmrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 635444c061aSmrg echo romp-ibm-bsd4.4 636444c061aSmrg exit ;; 637444c061aSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 6380568f49bSmrg echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to 639444c061aSmrg exit ;; # report: romp-ibm BSD 4.3 640444c061aSmrg *:BOSX:*:*) 641444c061aSmrg echo rs6000-bull-bosx 642444c061aSmrg exit ;; 643444c061aSmrg DPX/2?00:B.O.S.:*:*) 644444c061aSmrg echo m68k-bull-sysv3 645444c061aSmrg exit ;; 646444c061aSmrg 9000/[34]??:4.3bsd:1.*:*) 647444c061aSmrg echo m68k-hp-bsd 648444c061aSmrg exit ;; 649444c061aSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 650444c061aSmrg echo m68k-hp-bsd4.4 651444c061aSmrg exit ;; 652444c061aSmrg 9000/[34678]??:HP-UX:*:*) 6530568f49bSmrg HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` 6540568f49bSmrg case "$UNAME_MACHINE" in 6550568f49bSmrg 9000/31?) HP_ARCH=m68000 ;; 6560568f49bSmrg 9000/[34]??) HP_ARCH=m68k ;; 657444c061aSmrg 9000/[678][0-9][0-9]) 658444c061aSmrg if [ -x /usr/bin/getconf ]; then 659444c061aSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 6609e7bcd65Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 6610568f49bSmrg case "$sc_cpu_version" in 6620568f49bSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 6630568f49bSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 6649e7bcd65Smrg 532) # CPU_PA_RISC2_0 6650568f49bSmrg case "$sc_kernel_bits" in 6660568f49bSmrg 32) HP_ARCH=hppa2.0n ;; 6670568f49bSmrg 64) HP_ARCH=hppa2.0w ;; 6680568f49bSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 6699e7bcd65Smrg esac ;; 6709e7bcd65Smrg esac 671444c061aSmrg fi 6720568f49bSmrg if [ "$HP_ARCH" = "" ]; then 673a3bd7f05Smrg set_cc_for_build 6740568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 675444c061aSmrg 6769e7bcd65Smrg #define _HPUX_SOURCE 6779e7bcd65Smrg #include <stdlib.h> 6789e7bcd65Smrg #include <unistd.h> 679444c061aSmrg 6809e7bcd65Smrg int main () 6819e7bcd65Smrg { 6829e7bcd65Smrg #if defined(_SC_KERNEL_BITS) 6839e7bcd65Smrg long bits = sysconf(_SC_KERNEL_BITS); 6849e7bcd65Smrg #endif 6859e7bcd65Smrg long cpu = sysconf (_SC_CPU_VERSION); 686444c061aSmrg 6879e7bcd65Smrg switch (cpu) 6889e7bcd65Smrg { 6899e7bcd65Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6909e7bcd65Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6919e7bcd65Smrg case CPU_PA_RISC2_0: 6929e7bcd65Smrg #if defined(_SC_KERNEL_BITS) 6939e7bcd65Smrg switch (bits) 6949e7bcd65Smrg { 6959e7bcd65Smrg case 64: puts ("hppa2.0w"); break; 6969e7bcd65Smrg case 32: puts ("hppa2.0n"); break; 6979e7bcd65Smrg default: puts ("hppa2.0"); break; 6989e7bcd65Smrg } break; 6999e7bcd65Smrg #else /* !defined(_SC_KERNEL_BITS) */ 7009e7bcd65Smrg puts ("hppa2.0"); break; 7019e7bcd65Smrg #endif 7029e7bcd65Smrg default: puts ("hppa1.0"); break; 7039e7bcd65Smrg } 7049e7bcd65Smrg exit (0); 7059e7bcd65Smrg } 706444c061aSmrgEOF 7070568f49bSmrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 708444c061aSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 709444c061aSmrg fi ;; 710444c061aSmrg esac 7110568f49bSmrg if [ "$HP_ARCH" = hppa2.0w ] 712444c061aSmrg then 713a3bd7f05Smrg set_cc_for_build 714444c061aSmrg 715444c061aSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 716444c061aSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 717444c061aSmrg # generating 64-bit code. GNU and HP use different nomenclature: 718444c061aSmrg # 719444c061aSmrg # $ CC_FOR_BUILD=cc ./config.guess 720444c061aSmrg # => hppa2.0w-hp-hpux11.23 721444c061aSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 722444c061aSmrg # => hppa64-hp-hpux11.23 723444c061aSmrg 7240568f49bSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 7251477040fSmrg grep -q __LP64__ 726444c061aSmrg then 7270568f49bSmrg HP_ARCH=hppa2.0w 728444c061aSmrg else 7290568f49bSmrg HP_ARCH=hppa64 730444c061aSmrg fi 731444c061aSmrg fi 7320568f49bSmrg echo "$HP_ARCH"-hp-hpux"$HPUX_REV" 733444c061aSmrg exit ;; 734444c061aSmrg ia64:HP-UX:*:*) 7350568f49bSmrg HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` 7360568f49bSmrg echo ia64-hp-hpux"$HPUX_REV" 737444c061aSmrg exit ;; 738444c061aSmrg 3050*:HI-UX:*:*) 739a3bd7f05Smrg set_cc_for_build 7400568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 741444c061aSmrg #include <unistd.h> 742444c061aSmrg int 743444c061aSmrg main () 744444c061aSmrg { 745444c061aSmrg long cpu = sysconf (_SC_CPU_VERSION); 746444c061aSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 747444c061aSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 748444c061aSmrg results, however. */ 749444c061aSmrg if (CPU_IS_PA_RISC (cpu)) 750444c061aSmrg { 751444c061aSmrg switch (cpu) 752444c061aSmrg { 753444c061aSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 754444c061aSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 755444c061aSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 756444c061aSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 757444c061aSmrg } 758444c061aSmrg } 759444c061aSmrg else if (CPU_IS_HP_MC68K (cpu)) 760444c061aSmrg puts ("m68k-hitachi-hiuxwe2"); 761444c061aSmrg else puts ("unknown-hitachi-hiuxwe2"); 762444c061aSmrg exit (0); 763444c061aSmrg } 764444c061aSmrgEOF 7650568f49bSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 766444c061aSmrg { echo "$SYSTEM_NAME"; exit; } 767444c061aSmrg echo unknown-hitachi-hiuxwe2 768444c061aSmrg exit ;; 7690568f49bSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 770444c061aSmrg echo hppa1.1-hp-bsd 771444c061aSmrg exit ;; 772444c061aSmrg 9000/8??:4.3bsd:*:*) 773444c061aSmrg echo hppa1.0-hp-bsd 774444c061aSmrg exit ;; 775444c061aSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 776444c061aSmrg echo hppa1.0-hp-mpeix 777444c061aSmrg exit ;; 7780568f49bSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 779444c061aSmrg echo hppa1.1-hp-osf 780444c061aSmrg exit ;; 781444c061aSmrg hp8??:OSF1:*:*) 782444c061aSmrg echo hppa1.0-hp-osf 783444c061aSmrg exit ;; 784444c061aSmrg i*86:OSF1:*:*) 785444c061aSmrg if [ -x /usr/sbin/sysversion ] ; then 7860568f49bSmrg echo "$UNAME_MACHINE"-unknown-osf1mk 787444c061aSmrg else 7880568f49bSmrg echo "$UNAME_MACHINE"-unknown-osf1 789444c061aSmrg fi 790444c061aSmrg exit ;; 791444c061aSmrg parisc*:Lites*:*:*) 792444c061aSmrg echo hppa1.1-hp-lites 793444c061aSmrg exit ;; 794444c061aSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 795444c061aSmrg echo c1-convex-bsd 7969e7bcd65Smrg exit ;; 797444c061aSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 798444c061aSmrg if getsysinfo -f scalar_acc 799444c061aSmrg then echo c32-convex-bsd 800444c061aSmrg else echo c2-convex-bsd 801444c061aSmrg fi 8029e7bcd65Smrg exit ;; 803444c061aSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 804444c061aSmrg echo c34-convex-bsd 8059e7bcd65Smrg exit ;; 806444c061aSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 807444c061aSmrg echo c38-convex-bsd 8089e7bcd65Smrg exit ;; 809444c061aSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 810444c061aSmrg echo c4-convex-bsd 8119e7bcd65Smrg exit ;; 812444c061aSmrg CRAY*Y-MP:*:*:*) 8130568f49bSmrg echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 814444c061aSmrg exit ;; 815444c061aSmrg CRAY*[A-Z]90:*:*:*) 8160568f49bSmrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 817444c061aSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 818444c061aSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 819444c061aSmrg -e 's/\.[^.]*$/.X/' 820444c061aSmrg exit ;; 821444c061aSmrg CRAY*TS:*:*:*) 8220568f49bSmrg echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 823444c061aSmrg exit ;; 824444c061aSmrg CRAY*T3E:*:*:*) 8250568f49bSmrg echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 826444c061aSmrg exit ;; 827444c061aSmrg CRAY*SV1:*:*:*) 8280568f49bSmrg echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 829444c061aSmrg exit ;; 830444c061aSmrg *:UNICOS/mp:*:*) 8310568f49bSmrg echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 832444c061aSmrg exit ;; 833444c061aSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 8340568f49bSmrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 8350568f49bSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8360568f49bSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 8379e7bcd65Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 8389e7bcd65Smrg exit ;; 839444c061aSmrg 5000:UNIX_System_V:4.*:*) 8400568f49bSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8410568f49bSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 8429e7bcd65Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 843444c061aSmrg exit ;; 844444c061aSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 8450568f49bSmrg echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" 846444c061aSmrg exit ;; 847444c061aSmrg sparc*:BSD/OS:*:*) 8480568f49bSmrg echo sparc-unknown-bsdi"$UNAME_RELEASE" 849444c061aSmrg exit ;; 850444c061aSmrg *:BSD/OS:*:*) 8510568f49bSmrg echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" 852444c061aSmrg exit ;; 853a3bd7f05Smrg arm:FreeBSD:*:*) 854a3bd7f05Smrg UNAME_PROCESSOR=`uname -p` 855a3bd7f05Smrg set_cc_for_build 856a3bd7f05Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 857a3bd7f05Smrg | grep -q __ARM_PCS_VFP 858a3bd7f05Smrg then 859a3bd7f05Smrg echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi 860a3bd7f05Smrg else 861a3bd7f05Smrg echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf 862a3bd7f05Smrg fi 863a3bd7f05Smrg exit ;; 864444c061aSmrg *:FreeBSD:*:*) 8659e7bcd65Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 8660568f49bSmrg case "$UNAME_PROCESSOR" in 8672265a131Smrg amd64) 8680568f49bSmrg UNAME_PROCESSOR=x86_64 ;; 8690568f49bSmrg i386) 8700568f49bSmrg UNAME_PROCESSOR=i586 ;; 8712265a131Smrg esac 8720568f49bSmrg echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 873444c061aSmrg exit ;; 874444c061aSmrg i*:CYGWIN*:*) 8750568f49bSmrg echo "$UNAME_MACHINE"-pc-cygwin 876444c061aSmrg exit ;; 8779e7bcd65Smrg *:MINGW64*:*) 8780568f49bSmrg echo "$UNAME_MACHINE"-pc-mingw64 8799e7bcd65Smrg exit ;; 8802265a131Smrg *:MINGW*:*) 8810568f49bSmrg echo "$UNAME_MACHINE"-pc-mingw32 882444c061aSmrg exit ;; 883339a7c43Smrg *:MSYS*:*) 8840568f49bSmrg echo "$UNAME_MACHINE"-pc-msys 885444c061aSmrg exit ;; 886444c061aSmrg i*:PW*:*) 8870568f49bSmrg echo "$UNAME_MACHINE"-pc-pw32 888444c061aSmrg exit ;; 8891477040fSmrg *:Interix*:*) 8900568f49bSmrg case "$UNAME_MACHINE" in 8912265a131Smrg x86) 8920568f49bSmrg echo i586-pc-interix"$UNAME_RELEASE" 8932265a131Smrg exit ;; 8941477040fSmrg authenticamd | genuineintel | EM64T) 8950568f49bSmrg echo x86_64-unknown-interix"$UNAME_RELEASE" 8962265a131Smrg exit ;; 8972265a131Smrg IA64) 8980568f49bSmrg echo ia64-unknown-interix"$UNAME_RELEASE" 8992265a131Smrg exit ;; 9002265a131Smrg esac ;; 901444c061aSmrg i*:UWIN*:*) 9020568f49bSmrg echo "$UNAME_MACHINE"-pc-uwin 903444c061aSmrg exit ;; 904444c061aSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 905a3bd7f05Smrg echo x86_64-pc-cygwin 906444c061aSmrg exit ;; 907444c061aSmrg prep*:SunOS:5.*:*) 9080568f49bSmrg echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 909444c061aSmrg exit ;; 910444c061aSmrg *:GNU:*:*) 911444c061aSmrg # the GNU system 9120568f49bSmrg echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" 913444c061aSmrg exit ;; 914444c061aSmrg *:GNU/*:*:*) 915444c061aSmrg # other systems with GNU libc and userland 9160568f49bSmrg echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" 917444c061aSmrg exit ;; 918a3bd7f05Smrg *:Minix:*:*) 919a3bd7f05Smrg echo "$UNAME_MACHINE"-unknown-minix 920444c061aSmrg exit ;; 9219e7bcd65Smrg aarch64:Linux:*:*) 9220568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9239e7bcd65Smrg exit ;; 9249e7bcd65Smrg aarch64_be:Linux:*:*) 9259e7bcd65Smrg UNAME_MACHINE=aarch64_be 9260568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9279e7bcd65Smrg exit ;; 9281477040fSmrg alpha:Linux:*:*) 929a3bd7f05Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 9301477040fSmrg EV5) UNAME_MACHINE=alphaev5 ;; 9311477040fSmrg EV56) UNAME_MACHINE=alphaev56 ;; 9321477040fSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 9331477040fSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 9341477040fSmrg EV6) UNAME_MACHINE=alphaev6 ;; 9351477040fSmrg EV67) UNAME_MACHINE=alphaev67 ;; 9361477040fSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 9379e7bcd65Smrg esac 9381477040fSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 9390568f49bSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 9400568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9411477040fSmrg exit ;; 9429e7bcd65Smrg arc:Linux:*:* | arceb:Linux:*:*) 9430568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9449e7bcd65Smrg exit ;; 945444c061aSmrg arm*:Linux:*:*) 946a3bd7f05Smrg set_cc_for_build 9472265a131Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 9482265a131Smrg | grep -q __ARM_EABI__ 9492265a131Smrg then 9500568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9512265a131Smrg else 9529e7bcd65Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 9539e7bcd65Smrg | grep -q __ARM_PCS_VFP 9549e7bcd65Smrg then 9550568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi 9569e7bcd65Smrg else 9570568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf 9589e7bcd65Smrg fi 9592265a131Smrg fi 9602265a131Smrg exit ;; 9612265a131Smrg avr32*:Linux:*:*) 9620568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 963444c061aSmrg exit ;; 964444c061aSmrg cris:Linux:*:*) 9650568f49bSmrg echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 966444c061aSmrg exit ;; 967444c061aSmrg crisv32:Linux:*:*) 9680568f49bSmrg echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 9690568f49bSmrg exit ;; 9700568f49bSmrg e2k:Linux:*:*) 9710568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 972444c061aSmrg exit ;; 973444c061aSmrg frv:Linux:*:*) 9740568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9759e7bcd65Smrg exit ;; 9769e7bcd65Smrg hexagon:Linux:*:*) 9770568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9781477040fSmrg exit ;; 9791477040fSmrg i*86:Linux:*:*) 9800568f49bSmrg echo "$UNAME_MACHINE"-pc-linux-"$LIBC" 981444c061aSmrg exit ;; 982444c061aSmrg ia64:Linux:*:*) 9830568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 9840568f49bSmrg exit ;; 9850568f49bSmrg k1om:Linux:*:*) 9860568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 987444c061aSmrg exit ;; 988444c061aSmrg m32r*:Linux:*:*) 9890568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 990444c061aSmrg exit ;; 991444c061aSmrg m68*:Linux:*:*) 9920568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 993444c061aSmrg exit ;; 9941477040fSmrg mips:Linux:*:* | mips64:Linux:*:*) 995a3bd7f05Smrg set_cc_for_build 996a3bd7f05Smrg IS_GLIBC=0 997a3bd7f05Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 9980568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 999444c061aSmrg #undef CPU 1000a3bd7f05Smrg #undef mips 1001a3bd7f05Smrg #undef mipsel 1002a3bd7f05Smrg #undef mips64 1003a3bd7f05Smrg #undef mips64el 1004a3bd7f05Smrg #if ${IS_GLIBC} && defined(_ABI64) 1005a3bd7f05Smrg LIBCABI=gnuabi64 1006a3bd7f05Smrg #else 1007a3bd7f05Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1008a3bd7f05Smrg LIBCABI=gnuabin32 1009a3bd7f05Smrg #else 1010a3bd7f05Smrg LIBCABI=${LIBC} 1011a3bd7f05Smrg #endif 1012a3bd7f05Smrg #endif 1013a3bd7f05Smrg 1014a3bd7f05Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1015a3bd7f05Smrg CPU=mipsisa64r6 1016a3bd7f05Smrg #else 1017a3bd7f05Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1018a3bd7f05Smrg CPU=mipsisa32r6 1019a3bd7f05Smrg #else 1020a3bd7f05Smrg #if defined(__mips64) 1021a3bd7f05Smrg CPU=mips64 1022a3bd7f05Smrg #else 1023a3bd7f05Smrg CPU=mips 1024a3bd7f05Smrg #endif 1025a3bd7f05Smrg #endif 1026a3bd7f05Smrg #endif 1027a3bd7f05Smrg 1028444c061aSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1029a3bd7f05Smrg MIPS_ENDIAN=el 1030444c061aSmrg #else 1031444c061aSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1032a3bd7f05Smrg MIPS_ENDIAN= 1033444c061aSmrg #else 1034a3bd7f05Smrg MIPS_ENDIAN= 1035444c061aSmrg #endif 1036444c061aSmrg #endif 1037444c061aSmrgEOF 1038a3bd7f05Smrg eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" 1039a3bd7f05Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1040444c061aSmrg ;; 10410568f49bSmrg mips64el:Linux:*:*) 10420568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10430568f49bSmrg exit ;; 1044339a7c43Smrg openrisc*:Linux:*:*) 10450568f49bSmrg echo or1k-unknown-linux-"$LIBC" 10469e7bcd65Smrg exit ;; 1047339a7c43Smrg or32:Linux:*:* | or1k*:Linux:*:*) 10480568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1049444c061aSmrg exit ;; 10501477040fSmrg padre:Linux:*:*) 10510568f49bSmrg echo sparc-unknown-linux-"$LIBC" 1052444c061aSmrg exit ;; 10531477040fSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 10540568f49bSmrg echo hppa64-unknown-linux-"$LIBC" 1055444c061aSmrg exit ;; 1056444c061aSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1057444c061aSmrg # Look for CPU level 1058444c061aSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 10590568f49bSmrg PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; 10600568f49bSmrg PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; 10610568f49bSmrg *) echo hppa-unknown-linux-"$LIBC" ;; 1062444c061aSmrg esac 1063444c061aSmrg exit ;; 10641477040fSmrg ppc64:Linux:*:*) 10650568f49bSmrg echo powerpc64-unknown-linux-"$LIBC" 10661477040fSmrg exit ;; 10671477040fSmrg ppc:Linux:*:*) 10680568f49bSmrg echo powerpc-unknown-linux-"$LIBC" 1069339a7c43Smrg exit ;; 1070339a7c43Smrg ppc64le:Linux:*:*) 10710568f49bSmrg echo powerpc64le-unknown-linux-"$LIBC" 1072339a7c43Smrg exit ;; 1073339a7c43Smrg ppcle:Linux:*:*) 10740568f49bSmrg echo powerpcle-unknown-linux-"$LIBC" 10750568f49bSmrg exit ;; 10760568f49bSmrg riscv32:Linux:*:* | riscv64:Linux:*:*) 10770568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1078444c061aSmrg exit ;; 1079444c061aSmrg s390:Linux:*:* | s390x:Linux:*:*) 10800568f49bSmrg echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" 1081444c061aSmrg exit ;; 1082444c061aSmrg sh64*:Linux:*:*) 10830568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1084444c061aSmrg exit ;; 1085444c061aSmrg sh*:Linux:*:*) 10860568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1087444c061aSmrg exit ;; 1088444c061aSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 10890568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1090249c3046Smrg exit ;; 10919e7bcd65Smrg tile*:Linux:*:*) 10920568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 10939e7bcd65Smrg exit ;; 1094444c061aSmrg vax:Linux:*:*) 10950568f49bSmrg echo "$UNAME_MACHINE"-dec-linux-"$LIBC" 1096444c061aSmrg exit ;; 1097444c061aSmrg x86_64:Linux:*:*) 1098a3bd7f05Smrg set_cc_for_build 1099a3bd7f05Smrg LIBCABI=$LIBC 1100a3bd7f05Smrg if [ "$CC_FOR_BUILD" != no_compiler_found ]; then 1101a3bd7f05Smrg if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ 1102a3bd7f05Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1103a3bd7f05Smrg grep IS_X32 >/dev/null 1104a3bd7f05Smrg then 1105a3bd7f05Smrg LIBCABI="$LIBC"x32 1106a3bd7f05Smrg fi 11070568f49bSmrg fi 1108a3bd7f05Smrg echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" 1109444c061aSmrg exit ;; 11102265a131Smrg xtensa*:Linux:*:*) 11110568f49bSmrg echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 11122265a131Smrg exit ;; 1113444c061aSmrg i*86:DYNIX/ptx:4*:*) 1114444c061aSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1115444c061aSmrg # earlier versions are messed up and put the nodename in both 1116444c061aSmrg # sysname and nodename. 1117444c061aSmrg echo i386-sequent-sysv4 1118444c061aSmrg exit ;; 1119444c061aSmrg i*86:UNIX_SV:4.2MP:2.*) 11209e7bcd65Smrg # Unixware is an offshoot of SVR4, but it has its own version 11219e7bcd65Smrg # number series starting with 2... 11229e7bcd65Smrg # I am not positive that other SVR4 systems won't match this, 1123444c061aSmrg # I just have to hope. -- rms. 11249e7bcd65Smrg # Use sysv4.2uw... so that sysv4* matches it. 11250568f49bSmrg echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" 1126444c061aSmrg exit ;; 1127444c061aSmrg i*86:OS/2:*:*) 1128444c061aSmrg # If we were able to find `uname', then EMX Unix compatibility 1129444c061aSmrg # is probably installed. 11300568f49bSmrg echo "$UNAME_MACHINE"-pc-os2-emx 1131444c061aSmrg exit ;; 1132444c061aSmrg i*86:XTS-300:*:STOP) 11330568f49bSmrg echo "$UNAME_MACHINE"-unknown-stop 1134444c061aSmrg exit ;; 1135444c061aSmrg i*86:atheos:*:*) 11360568f49bSmrg echo "$UNAME_MACHINE"-unknown-atheos 1137444c061aSmrg exit ;; 1138444c061aSmrg i*86:syllable:*:*) 11390568f49bSmrg echo "$UNAME_MACHINE"-pc-syllable 1140444c061aSmrg exit ;; 11411477040fSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 11420568f49bSmrg echo i386-unknown-lynxos"$UNAME_RELEASE" 1143444c061aSmrg exit ;; 1144444c061aSmrg i*86:*DOS:*:*) 11450568f49bSmrg echo "$UNAME_MACHINE"-pc-msdosdjgpp 1146444c061aSmrg exit ;; 11470568f49bSmrg i*86:*:4.*:*) 11480568f49bSmrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1149444c061aSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 11500568f49bSmrg echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" 1151444c061aSmrg else 11520568f49bSmrg echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" 1153444c061aSmrg fi 1154444c061aSmrg exit ;; 1155444c061aSmrg i*86:*:5:[678]*) 11569e7bcd65Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1157444c061aSmrg case `/bin/uname -X | grep "^Machine"` in 1158444c061aSmrg *486*) UNAME_MACHINE=i486 ;; 1159444c061aSmrg *Pentium) UNAME_MACHINE=i586 ;; 1160444c061aSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1161444c061aSmrg esac 1162a3bd7f05Smrg echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" 1163444c061aSmrg exit ;; 1164444c061aSmrg i*86:*:3.2:*) 1165444c061aSmrg if test -f /usr/options/cb.name; then 1166444c061aSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 11670568f49bSmrg echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" 1168444c061aSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1169444c061aSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1170444c061aSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1171444c061aSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1172444c061aSmrg && UNAME_MACHINE=i586 1173444c061aSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1174444c061aSmrg && UNAME_MACHINE=i686 1175444c061aSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1176444c061aSmrg && UNAME_MACHINE=i686 11770568f49bSmrg echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" 1178444c061aSmrg else 11790568f49bSmrg echo "$UNAME_MACHINE"-pc-sysv32 1180444c061aSmrg fi 1181444c061aSmrg exit ;; 1182444c061aSmrg pc:*:*:*) 1183444c061aSmrg # Left here for compatibility: 11849e7bcd65Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 11859e7bcd65Smrg # the processor, so we play safe by assuming i586. 11861477040fSmrg # Note: whatever this is, it MUST be the same as what config.sub 11870568f49bSmrg # prints for the "djgpp" host, or else GDB configure will decide that 11881477040fSmrg # this is a cross-build. 11891477040fSmrg echo i586-pc-msdosdjgpp 11909e7bcd65Smrg exit ;; 1191444c061aSmrg Intel:Mach:3*:*) 1192444c061aSmrg echo i386-pc-mach3 1193444c061aSmrg exit ;; 1194444c061aSmrg paragon:*:*:*) 1195444c061aSmrg echo i860-intel-osf1 1196444c061aSmrg exit ;; 1197444c061aSmrg i860:*:4.*:*) # i860-SVR4 1198444c061aSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 11990568f49bSmrg echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 1200444c061aSmrg else # Add other i860-SVR4 vendors below as they are discovered. 12010568f49bSmrg echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 1202444c061aSmrg fi 1203444c061aSmrg exit ;; 1204444c061aSmrg mini*:CTIX:SYS*5:*) 1205444c061aSmrg # "miniframe" 1206444c061aSmrg echo m68010-convergent-sysv 1207444c061aSmrg exit ;; 1208444c061aSmrg mc68k:UNIX:SYSTEM5:3.51m) 1209444c061aSmrg echo m68k-convergent-sysv 1210444c061aSmrg exit ;; 1211444c061aSmrg M680?0:D-NIX:5.3:*) 1212444c061aSmrg echo m68k-diab-dnix 1213444c061aSmrg exit ;; 1214444c061aSmrg M68*:*:R3V[5678]*:*) 1215444c061aSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1216444c061aSmrg 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) 1217444c061aSmrg OS_REL='' 1218444c061aSmrg test -r /etc/.relid \ 1219444c061aSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1220444c061aSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12210568f49bSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1222444c061aSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12230568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1224444c061aSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 12259e7bcd65Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12269e7bcd65Smrg && { echo i486-ncr-sysv4; exit; } ;; 12271477040fSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 12281477040fSmrg OS_REL='.3' 12291477040fSmrg test -r /etc/.relid \ 12301477040fSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 12311477040fSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12320568f49bSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 12331477040fSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12340568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 12351477040fSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 12360568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1237444c061aSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 12380568f49bSmrg echo m68k-unknown-lynxos"$UNAME_RELEASE" 1239444c061aSmrg exit ;; 1240444c061aSmrg mc68030:UNIX_System_V:4.*:*) 1241444c061aSmrg echo m68k-atari-sysv4 1242444c061aSmrg exit ;; 1243444c061aSmrg TSUNAMI:LynxOS:2.*:*) 12440568f49bSmrg echo sparc-unknown-lynxos"$UNAME_RELEASE" 1245444c061aSmrg exit ;; 1246444c061aSmrg rs6000:LynxOS:2.*:*) 12470568f49bSmrg echo rs6000-unknown-lynxos"$UNAME_RELEASE" 1248444c061aSmrg exit ;; 12491477040fSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 12500568f49bSmrg echo powerpc-unknown-lynxos"$UNAME_RELEASE" 1251444c061aSmrg exit ;; 1252444c061aSmrg SM[BE]S:UNIX_SV:*:*) 12530568f49bSmrg echo mips-dde-sysv"$UNAME_RELEASE" 1254444c061aSmrg exit ;; 1255444c061aSmrg RM*:ReliantUNIX-*:*:*) 1256444c061aSmrg echo mips-sni-sysv4 1257444c061aSmrg exit ;; 1258444c061aSmrg RM*:SINIX-*:*:*) 1259444c061aSmrg echo mips-sni-sysv4 1260444c061aSmrg exit ;; 1261444c061aSmrg *:SINIX-*:*:*) 1262444c061aSmrg if uname -p 2>/dev/null >/dev/null ; then 1263444c061aSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 12640568f49bSmrg echo "$UNAME_MACHINE"-sni-sysv4 1265444c061aSmrg else 1266444c061aSmrg echo ns32k-sni-sysv 1267444c061aSmrg fi 1268444c061aSmrg exit ;; 12699e7bcd65Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 12709e7bcd65Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 12719e7bcd65Smrg echo i586-unisys-sysv4 12729e7bcd65Smrg exit ;; 1273444c061aSmrg *:UNIX_System_V:4*:FTX*) 1274444c061aSmrg # From Gerald Hewes <hewes@openmarket.com>. 1275444c061aSmrg # How about differentiating between stratus architectures? -djm 1276444c061aSmrg echo hppa1.1-stratus-sysv4 1277444c061aSmrg exit ;; 1278444c061aSmrg *:*:*:FTX*) 1279444c061aSmrg # From seanf@swdc.stratus.com. 1280444c061aSmrg echo i860-stratus-sysv4 1281444c061aSmrg exit ;; 1282444c061aSmrg i*86:VOS:*:*) 1283444c061aSmrg # From Paul.Green@stratus.com. 12840568f49bSmrg echo "$UNAME_MACHINE"-stratus-vos 1285444c061aSmrg exit ;; 1286444c061aSmrg *:VOS:*:*) 1287444c061aSmrg # From Paul.Green@stratus.com. 1288444c061aSmrg echo hppa1.1-stratus-vos 1289444c061aSmrg exit ;; 1290444c061aSmrg mc68*:A/UX:*:*) 12910568f49bSmrg echo m68k-apple-aux"$UNAME_RELEASE" 1292444c061aSmrg exit ;; 1293444c061aSmrg news*:NEWS-OS:6*:*) 1294444c061aSmrg echo mips-sony-newsos6 1295444c061aSmrg exit ;; 1296444c061aSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1297444c061aSmrg if [ -d /usr/nec ]; then 12980568f49bSmrg echo mips-nec-sysv"$UNAME_RELEASE" 1299444c061aSmrg else 13000568f49bSmrg echo mips-unknown-sysv"$UNAME_RELEASE" 1301444c061aSmrg fi 13029e7bcd65Smrg exit ;; 1303444c061aSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1304444c061aSmrg echo powerpc-be-beos 1305444c061aSmrg exit ;; 1306444c061aSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1307444c061aSmrg echo powerpc-apple-beos 1308444c061aSmrg exit ;; 1309444c061aSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1310444c061aSmrg echo i586-pc-beos 1311444c061aSmrg exit ;; 13121477040fSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 13131477040fSmrg echo i586-pc-haiku 13141477040fSmrg exit ;; 13159e7bcd65Smrg x86_64:Haiku:*:*) 13169e7bcd65Smrg echo x86_64-unknown-haiku 13179e7bcd65Smrg exit ;; 1318444c061aSmrg SX-4:SUPER-UX:*:*) 13190568f49bSmrg echo sx4-nec-superux"$UNAME_RELEASE" 1320444c061aSmrg exit ;; 1321444c061aSmrg SX-5:SUPER-UX:*:*) 13220568f49bSmrg echo sx5-nec-superux"$UNAME_RELEASE" 1323444c061aSmrg exit ;; 1324444c061aSmrg SX-6:SUPER-UX:*:*) 13250568f49bSmrg echo sx6-nec-superux"$UNAME_RELEASE" 1326444c061aSmrg exit ;; 13272265a131Smrg SX-7:SUPER-UX:*:*) 13280568f49bSmrg echo sx7-nec-superux"$UNAME_RELEASE" 13292265a131Smrg exit ;; 13302265a131Smrg SX-8:SUPER-UX:*:*) 13310568f49bSmrg echo sx8-nec-superux"$UNAME_RELEASE" 13322265a131Smrg exit ;; 13332265a131Smrg SX-8R:SUPER-UX:*:*) 13340568f49bSmrg echo sx8r-nec-superux"$UNAME_RELEASE" 13350568f49bSmrg exit ;; 13360568f49bSmrg SX-ACE:SUPER-UX:*:*) 13370568f49bSmrg echo sxace-nec-superux"$UNAME_RELEASE" 13382265a131Smrg exit ;; 1339444c061aSmrg Power*:Rhapsody:*:*) 13400568f49bSmrg echo powerpc-apple-rhapsody"$UNAME_RELEASE" 1341444c061aSmrg exit ;; 1342444c061aSmrg *:Rhapsody:*:*) 13430568f49bSmrg echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" 1344444c061aSmrg exit ;; 1345444c061aSmrg *:Darwin:*:*) 1346a3bd7f05Smrg UNAME_PROCESSOR=`uname -p` 1347a3bd7f05Smrg case $UNAME_PROCESSOR in 1348a3bd7f05Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1349a3bd7f05Smrg esac 1350a3bd7f05Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1351a3bd7f05Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1352a3bd7f05Smrg # Avoid executing cc if there is no toolchain installed as 1353a3bd7f05Smrg # cc will be a stub that puts up a graphical alert 1354a3bd7f05Smrg # prompting the user to install developer tools. 1355a3bd7f05Smrg CC_FOR_BUILD=no_compiler_found 1356a3bd7f05Smrg else 1357a3bd7f05Smrg set_cc_for_build 1358339a7c43Smrg fi 1359a3bd7f05Smrg if [ "$CC_FOR_BUILD" != no_compiler_found ]; then 1360a3bd7f05Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1361a3bd7f05Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1362a3bd7f05Smrg grep IS_64BIT_ARCH >/dev/null 1363a3bd7f05Smrg then 1364a3bd7f05Smrg case $UNAME_PROCESSOR in 1365a3bd7f05Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1366a3bd7f05Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1367a3bd7f05Smrg esac 1368a3bd7f05Smrg fi 1369a3bd7f05Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1370a3bd7f05Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1371a3bd7f05Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1372a3bd7f05Smrg grep IS_PPC >/dev/null 1373a3bd7f05Smrg then 1374a3bd7f05Smrg UNAME_PROCESSOR=powerpc 1375339a7c43Smrg fi 1376339a7c43Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1377a3bd7f05Smrg # uname -m returns i386 or x86_64 1378a3bd7f05Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1379339a7c43Smrg fi 13800568f49bSmrg echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" 1381444c061aSmrg exit ;; 1382444c061aSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1383444c061aSmrg UNAME_PROCESSOR=`uname -p` 13840568f49bSmrg if test "$UNAME_PROCESSOR" = x86; then 1385444c061aSmrg UNAME_PROCESSOR=i386 1386444c061aSmrg UNAME_MACHINE=pc 1387444c061aSmrg fi 13880568f49bSmrg echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" 1389444c061aSmrg exit ;; 1390444c061aSmrg *:QNX:*:4*) 1391444c061aSmrg echo i386-pc-qnx 1392444c061aSmrg exit ;; 13930568f49bSmrg NEO-*:NONSTOP_KERNEL:*:*) 13940568f49bSmrg echo neo-tandem-nsk"$UNAME_RELEASE" 13959e7bcd65Smrg exit ;; 13969e7bcd65Smrg NSE-*:NONSTOP_KERNEL:*:*) 13970568f49bSmrg echo nse-tandem-nsk"$UNAME_RELEASE" 1398444c061aSmrg exit ;; 13990568f49bSmrg NSR-*:NONSTOP_KERNEL:*:*) 14000568f49bSmrg echo nsr-tandem-nsk"$UNAME_RELEASE" 14010568f49bSmrg exit ;; 14020568f49bSmrg NSV-*:NONSTOP_KERNEL:*:*) 14030568f49bSmrg echo nsv-tandem-nsk"$UNAME_RELEASE" 14040568f49bSmrg exit ;; 14050568f49bSmrg NSX-*:NONSTOP_KERNEL:*:*) 14060568f49bSmrg echo nsx-tandem-nsk"$UNAME_RELEASE" 1407444c061aSmrg exit ;; 1408444c061aSmrg *:NonStop-UX:*:*) 1409444c061aSmrg echo mips-compaq-nonstopux 1410444c061aSmrg exit ;; 1411444c061aSmrg BS2000:POSIX*:*:*) 1412444c061aSmrg echo bs2000-siemens-sysv 1413444c061aSmrg exit ;; 1414444c061aSmrg DS/*:UNIX_System_V:*:*) 14150568f49bSmrg echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" 1416444c061aSmrg exit ;; 1417444c061aSmrg *:Plan9:*:*) 1418444c061aSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1419444c061aSmrg # is converted to i386 for consistency with other x86 1420444c061aSmrg # operating systems. 1421a3bd7f05Smrg # shellcheck disable=SC2154 14220568f49bSmrg if test "$cputype" = 386; then 1423444c061aSmrg UNAME_MACHINE=i386 1424444c061aSmrg else 1425444c061aSmrg UNAME_MACHINE="$cputype" 1426444c061aSmrg fi 14270568f49bSmrg echo "$UNAME_MACHINE"-unknown-plan9 1428444c061aSmrg exit ;; 1429444c061aSmrg *:TOPS-10:*:*) 1430444c061aSmrg echo pdp10-unknown-tops10 1431444c061aSmrg exit ;; 1432444c061aSmrg *:TENEX:*:*) 1433444c061aSmrg echo pdp10-unknown-tenex 1434444c061aSmrg exit ;; 1435444c061aSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1436444c061aSmrg echo pdp10-dec-tops20 1437444c061aSmrg exit ;; 1438444c061aSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1439444c061aSmrg echo pdp10-xkl-tops20 1440444c061aSmrg exit ;; 1441444c061aSmrg *:TOPS-20:*:*) 1442444c061aSmrg echo pdp10-unknown-tops20 1443444c061aSmrg exit ;; 1444444c061aSmrg *:ITS:*:*) 1445444c061aSmrg echo pdp10-unknown-its 1446444c061aSmrg exit ;; 1447444c061aSmrg SEI:*:*:SEIUX) 14480568f49bSmrg echo mips-sei-seiux"$UNAME_RELEASE" 1449444c061aSmrg exit ;; 1450444c061aSmrg *:DragonFly:*:*) 14510568f49bSmrg echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 1452444c061aSmrg exit ;; 1453444c061aSmrg *:*VMS:*:*) 14549e7bcd65Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 14550568f49bSmrg case "$UNAME_MACHINE" in 1456444c061aSmrg A*) echo alpha-dec-vms ; exit ;; 1457444c061aSmrg I*) echo ia64-dec-vms ; exit ;; 1458444c061aSmrg V*) echo vax-dec-vms ; exit ;; 1459444c061aSmrg esac ;; 1460444c061aSmrg *:XENIX:*:SysV) 1461444c061aSmrg echo i386-pc-xenix 1462444c061aSmrg exit ;; 1463444c061aSmrg i*86:skyos:*:*) 14640568f49bSmrg echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" 1465444c061aSmrg exit ;; 1466444c061aSmrg i*86:rdos:*:*) 14670568f49bSmrg echo "$UNAME_MACHINE"-pc-rdos 1468444c061aSmrg exit ;; 14691477040fSmrg i*86:AROS:*:*) 14700568f49bSmrg echo "$UNAME_MACHINE"-pc-aros 14711477040fSmrg exit ;; 14729e7bcd65Smrg x86_64:VMkernel:*:*) 14730568f49bSmrg echo "$UNAME_MACHINE"-unknown-esx 14740568f49bSmrg exit ;; 14750568f49bSmrg amd64:Isilon\ OneFS:*:*) 14760568f49bSmrg echo x86_64-unknown-onefs 14779e7bcd65Smrg exit ;; 1478a3bd7f05Smrg *:Unleashed:*:*) 1479a3bd7f05Smrg echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" 1480a3bd7f05Smrg exit ;; 1481444c061aSmrgesac 1482444c061aSmrg 1483a3bd7f05Smrg# No uname command or uname output not recognized. 1484a3bd7f05Smrgset_cc_for_build 1485a3bd7f05Smrgcat > "$dummy.c" <<EOF 1486a3bd7f05Smrg#ifdef _SEQUENT_ 1487a3bd7f05Smrg#include <sys/types.h> 1488a3bd7f05Smrg#include <sys/utsname.h> 1489a3bd7f05Smrg#endif 1490a3bd7f05Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1491a3bd7f05Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1492a3bd7f05Smrg#include <signal.h> 1493a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1494a3bd7f05Smrg#include <sys/utsname.h> 1495a3bd7f05Smrg#endif 1496a3bd7f05Smrg#endif 1497a3bd7f05Smrg#endif 1498a3bd7f05Smrgmain () 1499a3bd7f05Smrg{ 1500a3bd7f05Smrg#if defined (sony) 1501a3bd7f05Smrg#if defined (MIPSEB) 1502a3bd7f05Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1503a3bd7f05Smrg I don't know.... */ 1504a3bd7f05Smrg printf ("mips-sony-bsd\n"); exit (0); 1505a3bd7f05Smrg#else 1506a3bd7f05Smrg#include <sys/param.h> 1507a3bd7f05Smrg printf ("m68k-sony-newsos%s\n", 1508a3bd7f05Smrg#ifdef NEWSOS4 1509a3bd7f05Smrg "4" 1510a3bd7f05Smrg#else 1511a3bd7f05Smrg "" 1512a3bd7f05Smrg#endif 1513a3bd7f05Smrg ); exit (0); 1514a3bd7f05Smrg#endif 1515a3bd7f05Smrg#endif 1516a3bd7f05Smrg 1517a3bd7f05Smrg#if defined (NeXT) 1518a3bd7f05Smrg#if !defined (__ARCHITECTURE__) 1519a3bd7f05Smrg#define __ARCHITECTURE__ "m68k" 1520a3bd7f05Smrg#endif 1521a3bd7f05Smrg int version; 1522a3bd7f05Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1523a3bd7f05Smrg if (version < 4) 1524a3bd7f05Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1525a3bd7f05Smrg else 1526a3bd7f05Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1527a3bd7f05Smrg exit (0); 1528a3bd7f05Smrg#endif 1529a3bd7f05Smrg 1530a3bd7f05Smrg#if defined (MULTIMAX) || defined (n16) 1531a3bd7f05Smrg#if defined (UMAXV) 1532a3bd7f05Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1533a3bd7f05Smrg#else 1534a3bd7f05Smrg#if defined (CMU) 1535a3bd7f05Smrg printf ("ns32k-encore-mach\n"); exit (0); 1536a3bd7f05Smrg#else 1537a3bd7f05Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1538a3bd7f05Smrg#endif 1539a3bd7f05Smrg#endif 1540a3bd7f05Smrg#endif 1541a3bd7f05Smrg 1542a3bd7f05Smrg#if defined (__386BSD__) 1543a3bd7f05Smrg printf ("i386-pc-bsd\n"); exit (0); 1544a3bd7f05Smrg#endif 1545a3bd7f05Smrg 1546a3bd7f05Smrg#if defined (sequent) 1547a3bd7f05Smrg#if defined (i386) 1548a3bd7f05Smrg printf ("i386-sequent-dynix\n"); exit (0); 1549a3bd7f05Smrg#endif 1550a3bd7f05Smrg#if defined (ns32000) 1551a3bd7f05Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1552a3bd7f05Smrg#endif 1553a3bd7f05Smrg#endif 1554a3bd7f05Smrg 1555a3bd7f05Smrg#if defined (_SEQUENT_) 1556a3bd7f05Smrg struct utsname un; 1557a3bd7f05Smrg 1558a3bd7f05Smrg uname(&un); 1559a3bd7f05Smrg if (strncmp(un.version, "V2", 2) == 0) { 1560a3bd7f05Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1561a3bd7f05Smrg } 1562a3bd7f05Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1563a3bd7f05Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1564a3bd7f05Smrg } 1565a3bd7f05Smrg printf ("i386-sequent-ptx\n"); exit (0); 1566a3bd7f05Smrg#endif 1567a3bd7f05Smrg 1568a3bd7f05Smrg#if defined (vax) 1569a3bd7f05Smrg#if !defined (ultrix) 1570a3bd7f05Smrg#include <sys/param.h> 1571a3bd7f05Smrg#if defined (BSD) 1572a3bd7f05Smrg#if BSD == 43 1573a3bd7f05Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1574a3bd7f05Smrg#else 1575a3bd7f05Smrg#if BSD == 199006 1576a3bd7f05Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1577a3bd7f05Smrg#else 1578a3bd7f05Smrg printf ("vax-dec-bsd\n"); exit (0); 1579a3bd7f05Smrg#endif 1580a3bd7f05Smrg#endif 1581a3bd7f05Smrg#else 1582a3bd7f05Smrg printf ("vax-dec-bsd\n"); exit (0); 1583a3bd7f05Smrg#endif 1584a3bd7f05Smrg#else 1585a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1586a3bd7f05Smrg struct utsname un; 1587a3bd7f05Smrg uname (&un); 1588a3bd7f05Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1589a3bd7f05Smrg#else 1590a3bd7f05Smrg printf ("vax-dec-ultrix\n"); exit (0); 1591a3bd7f05Smrg#endif 1592a3bd7f05Smrg#endif 1593a3bd7f05Smrg#endif 1594a3bd7f05Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1595a3bd7f05Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1596a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1597a3bd7f05Smrg struct utsname *un; 1598a3bd7f05Smrg uname (&un); 1599a3bd7f05Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1600a3bd7f05Smrg#else 1601a3bd7f05Smrg printf ("mips-dec-ultrix\n"); exit (0); 1602a3bd7f05Smrg#endif 1603a3bd7f05Smrg#endif 1604a3bd7f05Smrg#endif 1605a3bd7f05Smrg 1606a3bd7f05Smrg#if defined (alliant) && defined (i860) 1607a3bd7f05Smrg printf ("i860-alliant-bsd\n"); exit (0); 1608a3bd7f05Smrg#endif 1609a3bd7f05Smrg 1610a3bd7f05Smrg exit (1); 1611a3bd7f05Smrg} 1612a3bd7f05SmrgEOF 1613a3bd7f05Smrg 1614a3bd7f05Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && 1615a3bd7f05Smrg { echo "$SYSTEM_NAME"; exit; } 1616a3bd7f05Smrg 1617a3bd7f05Smrg# Apollos put the system type in the environment. 1618a3bd7f05Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1619a3bd7f05Smrg 16200568f49bSmrgecho "$0: unable to guess system type" >&2 16210568f49bSmrg 16220568f49bSmrgcase "$UNAME_MACHINE:$UNAME_SYSTEM" in 16230568f49bSmrg mips:Linux | mips64:Linux) 16240568f49bSmrg # If we got here on MIPS GNU/Linux, output extra information. 16250568f49bSmrg cat >&2 <<EOF 16260568f49bSmrg 16270568f49bSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 16280568f49bSmrgthe system type. Please install a C compiler and try again. 16290568f49bSmrgEOF 16300568f49bSmrg ;; 16310568f49bSmrgesac 16320568f49bSmrg 1633444c061aSmrgcat >&2 <<EOF 1634444c061aSmrg 16350568f49bSmrgThis script (version $timestamp), has failed to recognize the 16360568f49bSmrgoperating system you are using. If your script is old, overwrite *all* 16370568f49bSmrgcopies of config.guess and config.sub with the latest versions from: 1638444c061aSmrg 16390568f49bSmrg https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 1640444c061aSmrgand 16410568f49bSmrg https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 1642a3bd7f05SmrgEOF 1643a3bd7f05Smrg 1644a3bd7f05Smrgyear=`echo $timestamp | sed 's,-.*,,'` 1645a3bd7f05Smrg# shellcheck disable=SC2003 1646a3bd7f05Smrgif test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then 1647a3bd7f05Smrg cat >&2 <<EOF 1648444c061aSmrg 16490568f49bSmrgIf $0 has already been updated, send the following data and any 16500568f49bSmrginformation you think might be pertinent to config-patches@gnu.org to 16510568f49bSmrgprovide the necessary information to handle your system. 1652444c061aSmrg 1653444c061aSmrgconfig.guess timestamp = $timestamp 1654444c061aSmrg 1655444c061aSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1656444c061aSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1657444c061aSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1658444c061aSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1659444c061aSmrg 1660444c061aSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1661444c061aSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1662444c061aSmrg 1663444c061aSmrghostinfo = `(hostinfo) 2>/dev/null` 1664444c061aSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1665444c061aSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1666444c061aSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1667444c061aSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1668444c061aSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1669444c061aSmrg 16700568f49bSmrgUNAME_MACHINE = "$UNAME_MACHINE" 16710568f49bSmrgUNAME_RELEASE = "$UNAME_RELEASE" 16720568f49bSmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 16730568f49bSmrgUNAME_VERSION = "$UNAME_VERSION" 1674444c061aSmrgEOF 1675a3bd7f05Smrgfi 1676444c061aSmrg 1677444c061aSmrgexit 1 1678444c061aSmrg 1679444c061aSmrg# Local variables: 1680a3bd7f05Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1681444c061aSmrg# time-stamp-start: "timestamp='" 1682444c061aSmrg# time-stamp-format: "%:y-%02m-%02d" 1683444c061aSmrg# time-stamp-end: "'" 1684444c061aSmrg# End: 1685