1*132f818dSEnji Cooper#! /bin/sh 2*132f818dSEnji Cooper# Attempt to guess a canonical system name. 3*132f818dSEnji Cooper# Copyright 1992-2018 Free Software Foundation, Inc. 4*132f818dSEnji Cooper 5*132f818dSEnji Coopertimestamp='2018-08-29' 6*132f818dSEnji Cooper 7*132f818dSEnji Cooper# This file is free software; you can redistribute it and/or modify it 8*132f818dSEnji Cooper# under the terms of the GNU General Public License as published by 9*132f818dSEnji Cooper# the Free Software Foundation; either version 3 of the License, or 10*132f818dSEnji Cooper# (at your option) any later version. 11*132f818dSEnji Cooper# 12*132f818dSEnji Cooper# This program is distributed in the hope that it will be useful, but 13*132f818dSEnji Cooper# WITHOUT ANY WARRANTY; without even the implied warranty of 14*132f818dSEnji Cooper# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15*132f818dSEnji Cooper# General Public License for more details. 16*132f818dSEnji Cooper# 17*132f818dSEnji Cooper# You should have received a copy of the GNU General Public License 18*132f818dSEnji Cooper# along with this program; if not, see <https://www.gnu.org/licenses/>. 19*132f818dSEnji Cooper# 20*132f818dSEnji Cooper# As a special exception to the GNU General Public License, if you 21*132f818dSEnji Cooper# distribute this file as part of a program that contains a 22*132f818dSEnji Cooper# configuration script generated by Autoconf, you may include it under 23*132f818dSEnji Cooper# the same distribution terms that you use for the rest of that 24*132f818dSEnji Cooper# program. This Exception is an additional permission under section 7 25*132f818dSEnji Cooper# of the GNU General Public License, version 3 ("GPLv3"). 26*132f818dSEnji Cooper# 27*132f818dSEnji Cooper# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 28*132f818dSEnji Cooper# 29*132f818dSEnji Cooper# You can get the latest version of this script from: 30*132f818dSEnji Cooper# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 31*132f818dSEnji Cooper# 32*132f818dSEnji Cooper# Please send patches to <config-patches@gnu.org>. 33*132f818dSEnji Cooper 34*132f818dSEnji Cooper 35*132f818dSEnji Cooperme=`echo "$0" | sed -e 's,.*/,,'` 36*132f818dSEnji Cooper 37*132f818dSEnji Cooperusage="\ 38*132f818dSEnji CooperUsage: $0 [OPTION] 39*132f818dSEnji Cooper 40*132f818dSEnji CooperOutput the configuration name of the system \`$me' is run on. 41*132f818dSEnji Cooper 42*132f818dSEnji CooperOptions: 43*132f818dSEnji Cooper -h, --help print this help, then exit 44*132f818dSEnji Cooper -t, --time-stamp print date of last modification, then exit 45*132f818dSEnji Cooper -v, --version print version number, then exit 46*132f818dSEnji Cooper 47*132f818dSEnji CooperReport bugs and patches to <config-patches@gnu.org>." 48*132f818dSEnji Cooper 49*132f818dSEnji Cooperversion="\ 50*132f818dSEnji CooperGNU config.guess ($timestamp) 51*132f818dSEnji Cooper 52*132f818dSEnji CooperOriginally written by Per Bothner. 53*132f818dSEnji CooperCopyright 1992-2018 Free Software Foundation, Inc. 54*132f818dSEnji Cooper 55*132f818dSEnji CooperThis is free software; see the source for copying conditions. There is NO 56*132f818dSEnji Cooperwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 57*132f818dSEnji Cooper 58*132f818dSEnji Cooperhelp=" 59*132f818dSEnji CooperTry \`$me --help' for more information." 60*132f818dSEnji Cooper 61*132f818dSEnji Cooper# Parse command line 62*132f818dSEnji Cooperwhile test $# -gt 0 ; do 63*132f818dSEnji Cooper case $1 in 64*132f818dSEnji Cooper --time-stamp | --time* | -t ) 65*132f818dSEnji Cooper echo "$timestamp" ; exit ;; 66*132f818dSEnji Cooper --version | -v ) 67*132f818dSEnji Cooper echo "$version" ; exit ;; 68*132f818dSEnji Cooper --help | --h* | -h ) 69*132f818dSEnji Cooper echo "$usage"; exit ;; 70*132f818dSEnji Cooper -- ) # Stop option processing 71*132f818dSEnji Cooper shift; break ;; 72*132f818dSEnji Cooper - ) # Use stdin as input. 73*132f818dSEnji Cooper break ;; 74*132f818dSEnji Cooper -* ) 75*132f818dSEnji Cooper echo "$me: invalid option $1$help" >&2 76*132f818dSEnji Cooper exit 1 ;; 77*132f818dSEnji Cooper * ) 78*132f818dSEnji Cooper break ;; 79*132f818dSEnji Cooper esac 80*132f818dSEnji Cooperdone 81*132f818dSEnji Cooper 82*132f818dSEnji Cooperif test $# != 0; then 83*132f818dSEnji Cooper echo "$me: too many arguments$help" >&2 84*132f818dSEnji Cooper exit 1 85*132f818dSEnji Cooperfi 86*132f818dSEnji Cooper 87*132f818dSEnji Cooper# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 88*132f818dSEnji Cooper# compiler to aid in system detection is discouraged as it requires 89*132f818dSEnji Cooper# temporary files to be created and, as you can see below, it is a 90*132f818dSEnji Cooper# headache to deal with in a portable fashion. 91*132f818dSEnji Cooper 92*132f818dSEnji Cooper# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 93*132f818dSEnji Cooper# use `HOST_CC' if defined, but it is deprecated. 94*132f818dSEnji Cooper 95*132f818dSEnji Cooper# Portable tmp directory creation inspired by the Autoconf team. 96*132f818dSEnji Cooper 97*132f818dSEnji Coopertmp= 98*132f818dSEnji Cooper# shellcheck disable=SC2172 99*132f818dSEnji Coopertrap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 100*132f818dSEnji Coopertrap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 101*132f818dSEnji Cooper 102*132f818dSEnji Cooperset_cc_for_build() { 103*132f818dSEnji Cooper : "${TMPDIR=/tmp}" 104*132f818dSEnji Cooper # shellcheck disable=SC2039 105*132f818dSEnji Cooper { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 106*132f818dSEnji Cooper { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 107*132f818dSEnji Cooper { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 108*132f818dSEnji Cooper { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 109*132f818dSEnji Cooper dummy=$tmp/dummy 110*132f818dSEnji Cooper case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 111*132f818dSEnji Cooper ,,) echo "int x;" > "$dummy.c" 112*132f818dSEnji Cooper for driver in cc gcc c89 c99 ; do 113*132f818dSEnji Cooper if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 114*132f818dSEnji Cooper CC_FOR_BUILD="$driver" 115*132f818dSEnji Cooper break 116*132f818dSEnji Cooper fi 117*132f818dSEnji Cooper done 118*132f818dSEnji Cooper if test x"$CC_FOR_BUILD" = x ; then 119*132f818dSEnji Cooper CC_FOR_BUILD=no_compiler_found 120*132f818dSEnji Cooper fi 121*132f818dSEnji Cooper ;; 122*132f818dSEnji Cooper ,,*) CC_FOR_BUILD=$CC ;; 123*132f818dSEnji Cooper ,*,*) CC_FOR_BUILD=$HOST_CC ;; 124*132f818dSEnji Cooper esac 125*132f818dSEnji Cooper} 126*132f818dSEnji Cooper 127*132f818dSEnji Cooper# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 128*132f818dSEnji Cooper# (ghazi@noc.rutgers.edu 1994-08-24) 129*132f818dSEnji Cooperif test -f /.attbin/uname ; then 130*132f818dSEnji Cooper PATH=$PATH:/.attbin ; export PATH 131*132f818dSEnji Cooperfi 132*132f818dSEnji Cooper 133*132f818dSEnji CooperUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 134*132f818dSEnji CooperUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 135*132f818dSEnji CooperUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 136*132f818dSEnji CooperUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 137*132f818dSEnji Cooper 138*132f818dSEnji Coopercase "$UNAME_SYSTEM" in 139*132f818dSEnji CooperLinux|GNU|GNU/*) 140*132f818dSEnji Cooper # If the system lacks a compiler, then just pick glibc. 141*132f818dSEnji Cooper # We could probably try harder. 142*132f818dSEnji Cooper LIBC=gnu 143*132f818dSEnji Cooper 144*132f818dSEnji Cooper set_cc_for_build 145*132f818dSEnji Cooper cat <<-EOF > "$dummy.c" 146*132f818dSEnji Cooper #include <features.h> 147*132f818dSEnji Cooper #if defined(__UCLIBC__) 148*132f818dSEnji Cooper LIBC=uclibc 149*132f818dSEnji Cooper #elif defined(__dietlibc__) 150*132f818dSEnji Cooper LIBC=dietlibc 151*132f818dSEnji Cooper #else 152*132f818dSEnji Cooper LIBC=gnu 153*132f818dSEnji Cooper #endif 154*132f818dSEnji Cooper EOF 155*132f818dSEnji Cooper eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" 156*132f818dSEnji Cooper 157*132f818dSEnji Cooper # If ldd exists, use it to detect musl libc. 158*132f818dSEnji Cooper if command -v ldd >/dev/null && \ 159*132f818dSEnji Cooper ldd --version 2>&1 | grep -q ^musl 160*132f818dSEnji Cooper then 161*132f818dSEnji Cooper LIBC=musl 162*132f818dSEnji Cooper fi 163*132f818dSEnji Cooper ;; 164*132f818dSEnji Cooperesac 165*132f818dSEnji Cooper 166*132f818dSEnji Cooper# Note: order is significant - the case branches are not exclusive. 167*132f818dSEnji Cooper 168*132f818dSEnji Coopercase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 169*132f818dSEnji Cooper *:NetBSD:*:*) 170*132f818dSEnji Cooper # NetBSD (nbsd) targets should (where applicable) match one or 171*132f818dSEnji Cooper # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 172*132f818dSEnji Cooper # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 173*132f818dSEnji Cooper # switched to ELF, *-*-netbsd* would select the old 174*132f818dSEnji Cooper # object file format. This provides both forward 175*132f818dSEnji Cooper # compatibility and a consistent mechanism for selecting the 176*132f818dSEnji Cooper # object file format. 177*132f818dSEnji Cooper # 178*132f818dSEnji Cooper # Note: NetBSD doesn't particularly care about the vendor 179*132f818dSEnji Cooper # portion of the name. We always set it to "unknown". 180*132f818dSEnji Cooper sysctl="sysctl -n hw.machine_arch" 181*132f818dSEnji Cooper UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 182*132f818dSEnji Cooper "/sbin/$sysctl" 2>/dev/null || \ 183*132f818dSEnji Cooper "/usr/sbin/$sysctl" 2>/dev/null || \ 184*132f818dSEnji Cooper echo unknown)` 185*132f818dSEnji Cooper case "$UNAME_MACHINE_ARCH" in 186*132f818dSEnji Cooper armeb) machine=armeb-unknown ;; 187*132f818dSEnji Cooper arm*) machine=arm-unknown ;; 188*132f818dSEnji Cooper sh3el) machine=shl-unknown ;; 189*132f818dSEnji Cooper sh3eb) machine=sh-unknown ;; 190*132f818dSEnji Cooper sh5el) machine=sh5le-unknown ;; 191*132f818dSEnji Cooper earmv*) 192*132f818dSEnji Cooper arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 193*132f818dSEnji Cooper endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 194*132f818dSEnji Cooper machine="${arch}${endian}"-unknown 195*132f818dSEnji Cooper ;; 196*132f818dSEnji Cooper *) machine="$UNAME_MACHINE_ARCH"-unknown ;; 197*132f818dSEnji Cooper esac 198*132f818dSEnji Cooper # The Operating System including object format, if it has switched 199*132f818dSEnji Cooper # to ELF recently (or will in the future) and ABI. 200*132f818dSEnji Cooper case "$UNAME_MACHINE_ARCH" in 201*132f818dSEnji Cooper earm*) 202*132f818dSEnji Cooper os=netbsdelf 203*132f818dSEnji Cooper ;; 204*132f818dSEnji Cooper arm*|i386|m68k|ns32k|sh3*|sparc|vax) 205*132f818dSEnji Cooper set_cc_for_build 206*132f818dSEnji Cooper if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 207*132f818dSEnji Cooper | grep -q __ELF__ 208*132f818dSEnji Cooper then 209*132f818dSEnji Cooper # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 210*132f818dSEnji Cooper # Return netbsd for either. FIX? 211*132f818dSEnji Cooper os=netbsd 212*132f818dSEnji Cooper else 213*132f818dSEnji Cooper os=netbsdelf 214*132f818dSEnji Cooper fi 215*132f818dSEnji Cooper ;; 216*132f818dSEnji Cooper *) 217*132f818dSEnji Cooper os=netbsd 218*132f818dSEnji Cooper ;; 219*132f818dSEnji Cooper esac 220*132f818dSEnji Cooper # Determine ABI tags. 221*132f818dSEnji Cooper case "$UNAME_MACHINE_ARCH" in 222*132f818dSEnji Cooper earm*) 223*132f818dSEnji Cooper expr='s/^earmv[0-9]/-eabi/;s/eb$//' 224*132f818dSEnji Cooper abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 225*132f818dSEnji Cooper ;; 226*132f818dSEnji Cooper esac 227*132f818dSEnji Cooper # The OS release 228*132f818dSEnji Cooper # Debian GNU/NetBSD machines have a different userland, and 229*132f818dSEnji Cooper # thus, need a distinct triplet. However, they do not need 230*132f818dSEnji Cooper # kernel version information, so it can be replaced with a 231*132f818dSEnji Cooper # suitable tag, in the style of linux-gnu. 232*132f818dSEnji Cooper case "$UNAME_VERSION" in 233*132f818dSEnji Cooper Debian*) 234*132f818dSEnji Cooper release='-gnu' 235*132f818dSEnji Cooper ;; 236*132f818dSEnji Cooper *) 237*132f818dSEnji Cooper release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 238*132f818dSEnji Cooper ;; 239*132f818dSEnji Cooper esac 240*132f818dSEnji Cooper # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 241*132f818dSEnji Cooper # contains redundant information, the shorter form: 242*132f818dSEnji Cooper # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 243*132f818dSEnji Cooper echo "$machine-${os}${release}${abi-}" 244*132f818dSEnji Cooper exit ;; 245*132f818dSEnji Cooper *:Bitrig:*:*) 246*132f818dSEnji Cooper UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 247*132f818dSEnji Cooper echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" 248*132f818dSEnji Cooper exit ;; 249*132f818dSEnji Cooper *:OpenBSD:*:*) 250*132f818dSEnji Cooper UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 251*132f818dSEnji Cooper echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" 252*132f818dSEnji Cooper exit ;; 253*132f818dSEnji Cooper *:LibertyBSD:*:*) 254*132f818dSEnji Cooper UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 255*132f818dSEnji Cooper echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" 256*132f818dSEnji Cooper exit ;; 257*132f818dSEnji Cooper *:MidnightBSD:*:*) 258*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" 259*132f818dSEnji Cooper exit ;; 260*132f818dSEnji Cooper *:ekkoBSD:*:*) 261*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" 262*132f818dSEnji Cooper exit ;; 263*132f818dSEnji Cooper *:SolidBSD:*:*) 264*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" 265*132f818dSEnji Cooper exit ;; 266*132f818dSEnji Cooper macppc:MirBSD:*:*) 267*132f818dSEnji Cooper echo powerpc-unknown-mirbsd"$UNAME_RELEASE" 268*132f818dSEnji Cooper exit ;; 269*132f818dSEnji Cooper *:MirBSD:*:*) 270*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" 271*132f818dSEnji Cooper exit ;; 272*132f818dSEnji Cooper *:Sortix:*:*) 273*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-sortix 274*132f818dSEnji Cooper exit ;; 275*132f818dSEnji Cooper *:Redox:*:*) 276*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-redox 277*132f818dSEnji Cooper exit ;; 278*132f818dSEnji Cooper mips:OSF1:*.*) 279*132f818dSEnji Cooper echo mips-dec-osf1 280*132f818dSEnji Cooper exit ;; 281*132f818dSEnji Cooper alpha:OSF1:*:*) 282*132f818dSEnji Cooper case $UNAME_RELEASE in 283*132f818dSEnji Cooper *4.0) 284*132f818dSEnji Cooper UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 285*132f818dSEnji Cooper ;; 286*132f818dSEnji Cooper *5.*) 287*132f818dSEnji Cooper UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 288*132f818dSEnji Cooper ;; 289*132f818dSEnji Cooper esac 290*132f818dSEnji Cooper # According to Compaq, /usr/sbin/psrinfo has been available on 291*132f818dSEnji Cooper # OSF/1 and Tru64 systems produced since 1995. I hope that 292*132f818dSEnji Cooper # covers most systems running today. This code pipes the CPU 293*132f818dSEnji Cooper # types through head -n 1, so we only detect the type of CPU 0. 294*132f818dSEnji Cooper ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 295*132f818dSEnji Cooper case "$ALPHA_CPU_TYPE" in 296*132f818dSEnji Cooper "EV4 (21064)") 297*132f818dSEnji Cooper UNAME_MACHINE=alpha ;; 298*132f818dSEnji Cooper "EV4.5 (21064)") 299*132f818dSEnji Cooper UNAME_MACHINE=alpha ;; 300*132f818dSEnji Cooper "LCA4 (21066/21068)") 301*132f818dSEnji Cooper UNAME_MACHINE=alpha ;; 302*132f818dSEnji Cooper "EV5 (21164)") 303*132f818dSEnji Cooper UNAME_MACHINE=alphaev5 ;; 304*132f818dSEnji Cooper "EV5.6 (21164A)") 305*132f818dSEnji Cooper UNAME_MACHINE=alphaev56 ;; 306*132f818dSEnji Cooper "EV5.6 (21164PC)") 307*132f818dSEnji Cooper UNAME_MACHINE=alphapca56 ;; 308*132f818dSEnji Cooper "EV5.7 (21164PC)") 309*132f818dSEnji Cooper UNAME_MACHINE=alphapca57 ;; 310*132f818dSEnji Cooper "EV6 (21264)") 311*132f818dSEnji Cooper UNAME_MACHINE=alphaev6 ;; 312*132f818dSEnji Cooper "EV6.7 (21264A)") 313*132f818dSEnji Cooper UNAME_MACHINE=alphaev67 ;; 314*132f818dSEnji Cooper "EV6.8CB (21264C)") 315*132f818dSEnji Cooper UNAME_MACHINE=alphaev68 ;; 316*132f818dSEnji Cooper "EV6.8AL (21264B)") 317*132f818dSEnji Cooper UNAME_MACHINE=alphaev68 ;; 318*132f818dSEnji Cooper "EV6.8CX (21264D)") 319*132f818dSEnji Cooper UNAME_MACHINE=alphaev68 ;; 320*132f818dSEnji Cooper "EV6.9A (21264/EV69A)") 321*132f818dSEnji Cooper UNAME_MACHINE=alphaev69 ;; 322*132f818dSEnji Cooper "EV7 (21364)") 323*132f818dSEnji Cooper UNAME_MACHINE=alphaev7 ;; 324*132f818dSEnji Cooper "EV7.9 (21364A)") 325*132f818dSEnji Cooper UNAME_MACHINE=alphaev79 ;; 326*132f818dSEnji Cooper esac 327*132f818dSEnji Cooper # A Pn.n version is a patched version. 328*132f818dSEnji Cooper # A Vn.n version is a released version. 329*132f818dSEnji Cooper # A Tn.n version is a released field test version. 330*132f818dSEnji Cooper # A Xn.n version is an unreleased experimental baselevel. 331*132f818dSEnji Cooper # 1.2 uses "1.2" for uname -r. 332*132f818dSEnji Cooper echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" 333*132f818dSEnji Cooper # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 334*132f818dSEnji Cooper exitcode=$? 335*132f818dSEnji Cooper trap '' 0 336*132f818dSEnji Cooper exit $exitcode ;; 337*132f818dSEnji Cooper Amiga*:UNIX_System_V:4.0:*) 338*132f818dSEnji Cooper echo m68k-unknown-sysv4 339*132f818dSEnji Cooper exit ;; 340*132f818dSEnji Cooper *:[Aa]miga[Oo][Ss]:*:*) 341*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-amigaos 342*132f818dSEnji Cooper exit ;; 343*132f818dSEnji Cooper *:[Mm]orph[Oo][Ss]:*:*) 344*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-morphos 345*132f818dSEnji Cooper exit ;; 346*132f818dSEnji Cooper *:OS/390:*:*) 347*132f818dSEnji Cooper echo i370-ibm-openedition 348*132f818dSEnji Cooper exit ;; 349*132f818dSEnji Cooper *:z/VM:*:*) 350*132f818dSEnji Cooper echo s390-ibm-zvmoe 351*132f818dSEnji Cooper exit ;; 352*132f818dSEnji Cooper *:OS400:*:*) 353*132f818dSEnji Cooper echo powerpc-ibm-os400 354*132f818dSEnji Cooper exit ;; 355*132f818dSEnji Cooper arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 356*132f818dSEnji Cooper echo arm-acorn-riscix"$UNAME_RELEASE" 357*132f818dSEnji Cooper exit ;; 358*132f818dSEnji Cooper arm*:riscos:*:*|arm*:RISCOS:*:*) 359*132f818dSEnji Cooper echo arm-unknown-riscos 360*132f818dSEnji Cooper exit ;; 361*132f818dSEnji Cooper SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 362*132f818dSEnji Cooper echo hppa1.1-hitachi-hiuxmpp 363*132f818dSEnji Cooper exit ;; 364*132f818dSEnji Cooper Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 365*132f818dSEnji Cooper # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 366*132f818dSEnji Cooper if test "`(/bin/universe) 2>/dev/null`" = att ; then 367*132f818dSEnji Cooper echo pyramid-pyramid-sysv3 368*132f818dSEnji Cooper else 369*132f818dSEnji Cooper echo pyramid-pyramid-bsd 370*132f818dSEnji Cooper fi 371*132f818dSEnji Cooper exit ;; 372*132f818dSEnji Cooper NILE*:*:*:dcosx) 373*132f818dSEnji Cooper echo pyramid-pyramid-svr4 374*132f818dSEnji Cooper exit ;; 375*132f818dSEnji Cooper DRS?6000:unix:4.0:6*) 376*132f818dSEnji Cooper echo sparc-icl-nx6 377*132f818dSEnji Cooper exit ;; 378*132f818dSEnji Cooper DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 379*132f818dSEnji Cooper case `/usr/bin/uname -p` in 380*132f818dSEnji Cooper sparc) echo sparc-icl-nx7; exit ;; 381*132f818dSEnji Cooper esac ;; 382*132f818dSEnji Cooper s390x:SunOS:*:*) 383*132f818dSEnji Cooper echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" 384*132f818dSEnji Cooper exit ;; 385*132f818dSEnji Cooper sun4H:SunOS:5.*:*) 386*132f818dSEnji Cooper echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 387*132f818dSEnji Cooper exit ;; 388*132f818dSEnji Cooper sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 389*132f818dSEnji Cooper echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" 390*132f818dSEnji Cooper exit ;; 391*132f818dSEnji Cooper i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 392*132f818dSEnji Cooper echo i386-pc-auroraux"$UNAME_RELEASE" 393*132f818dSEnji Cooper exit ;; 394*132f818dSEnji Cooper i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 395*132f818dSEnji Cooper UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" 396*132f818dSEnji Cooper case `isainfo -b` in 397*132f818dSEnji Cooper 32) 398*132f818dSEnji Cooper echo i386-pc-solaris2"$UNAME_REL" 399*132f818dSEnji Cooper ;; 400*132f818dSEnji Cooper 64) 401*132f818dSEnji Cooper echo x86_64-pc-solaris2"$UNAME_REL" 402*132f818dSEnji Cooper ;; 403*132f818dSEnji Cooper esac 404*132f818dSEnji Cooper exit ;; 405*132f818dSEnji Cooper sun4*:SunOS:6*:*) 406*132f818dSEnji Cooper # According to config.sub, this is the proper way to canonicalize 407*132f818dSEnji Cooper # SunOS6. Hard to guess exactly what SunOS6 will be like, but 408*132f818dSEnji Cooper # it's likely to be more like Solaris than SunOS4. 409*132f818dSEnji Cooper echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 410*132f818dSEnji Cooper exit ;; 411*132f818dSEnji Cooper sun4*:SunOS:*:*) 412*132f818dSEnji Cooper case "`/usr/bin/arch -k`" in 413*132f818dSEnji Cooper Series*|S4*) 414*132f818dSEnji Cooper UNAME_RELEASE=`uname -v` 415*132f818dSEnji Cooper ;; 416*132f818dSEnji Cooper esac 417*132f818dSEnji Cooper # Japanese Language versions have a version number like `4.1.3-JL'. 418*132f818dSEnji Cooper echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" 419*132f818dSEnji Cooper exit ;; 420*132f818dSEnji Cooper sun3*:SunOS:*:*) 421*132f818dSEnji Cooper echo m68k-sun-sunos"$UNAME_RELEASE" 422*132f818dSEnji Cooper exit ;; 423*132f818dSEnji Cooper sun*:*:4.2BSD:*) 424*132f818dSEnji Cooper UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 425*132f818dSEnji Cooper test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 426*132f818dSEnji Cooper case "`/bin/arch`" in 427*132f818dSEnji Cooper sun3) 428*132f818dSEnji Cooper echo m68k-sun-sunos"$UNAME_RELEASE" 429*132f818dSEnji Cooper ;; 430*132f818dSEnji Cooper sun4) 431*132f818dSEnji Cooper echo sparc-sun-sunos"$UNAME_RELEASE" 432*132f818dSEnji Cooper ;; 433*132f818dSEnji Cooper esac 434*132f818dSEnji Cooper exit ;; 435*132f818dSEnji Cooper aushp:SunOS:*:*) 436*132f818dSEnji Cooper echo sparc-auspex-sunos"$UNAME_RELEASE" 437*132f818dSEnji Cooper exit ;; 438*132f818dSEnji Cooper # The situation for MiNT is a little confusing. The machine name 439*132f818dSEnji Cooper # can be virtually everything (everything which is not 440*132f818dSEnji Cooper # "atarist" or "atariste" at least should have a processor 441*132f818dSEnji Cooper # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 442*132f818dSEnji Cooper # to the lowercase version "mint" (or "freemint"). Finally 443*132f818dSEnji Cooper # the system name "TOS" denotes a system which is actually not 444*132f818dSEnji Cooper # MiNT. But MiNT is downward compatible to TOS, so this should 445*132f818dSEnji Cooper # be no problem. 446*132f818dSEnji Cooper atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 447*132f818dSEnji Cooper echo m68k-atari-mint"$UNAME_RELEASE" 448*132f818dSEnji Cooper exit ;; 449*132f818dSEnji Cooper atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 450*132f818dSEnji Cooper echo m68k-atari-mint"$UNAME_RELEASE" 451*132f818dSEnji Cooper exit ;; 452*132f818dSEnji Cooper *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 453*132f818dSEnji Cooper echo m68k-atari-mint"$UNAME_RELEASE" 454*132f818dSEnji Cooper exit ;; 455*132f818dSEnji Cooper milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 456*132f818dSEnji Cooper echo m68k-milan-mint"$UNAME_RELEASE" 457*132f818dSEnji Cooper exit ;; 458*132f818dSEnji Cooper hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 459*132f818dSEnji Cooper echo m68k-hades-mint"$UNAME_RELEASE" 460*132f818dSEnji Cooper exit ;; 461*132f818dSEnji Cooper *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 462*132f818dSEnji Cooper echo m68k-unknown-mint"$UNAME_RELEASE" 463*132f818dSEnji Cooper exit ;; 464*132f818dSEnji Cooper m68k:machten:*:*) 465*132f818dSEnji Cooper echo m68k-apple-machten"$UNAME_RELEASE" 466*132f818dSEnji Cooper exit ;; 467*132f818dSEnji Cooper powerpc:machten:*:*) 468*132f818dSEnji Cooper echo powerpc-apple-machten"$UNAME_RELEASE" 469*132f818dSEnji Cooper exit ;; 470*132f818dSEnji Cooper RISC*:Mach:*:*) 471*132f818dSEnji Cooper echo mips-dec-mach_bsd4.3 472*132f818dSEnji Cooper exit ;; 473*132f818dSEnji Cooper RISC*:ULTRIX:*:*) 474*132f818dSEnji Cooper echo mips-dec-ultrix"$UNAME_RELEASE" 475*132f818dSEnji Cooper exit ;; 476*132f818dSEnji Cooper VAX*:ULTRIX*:*:*) 477*132f818dSEnji Cooper echo vax-dec-ultrix"$UNAME_RELEASE" 478*132f818dSEnji Cooper exit ;; 479*132f818dSEnji Cooper 2020:CLIX:*:* | 2430:CLIX:*:*) 480*132f818dSEnji Cooper echo clipper-intergraph-clix"$UNAME_RELEASE" 481*132f818dSEnji Cooper exit ;; 482*132f818dSEnji Cooper mips:*:*:UMIPS | mips:*:*:RISCos) 483*132f818dSEnji Cooper set_cc_for_build 484*132f818dSEnji Cooper sed 's/^ //' << EOF > "$dummy.c" 485*132f818dSEnji Cooper#ifdef __cplusplus 486*132f818dSEnji Cooper#include <stdio.h> /* for printf() prototype */ 487*132f818dSEnji Cooper int main (int argc, char *argv[]) { 488*132f818dSEnji Cooper#else 489*132f818dSEnji Cooper int main (argc, argv) int argc; char *argv[]; { 490*132f818dSEnji Cooper#endif 491*132f818dSEnji Cooper #if defined (host_mips) && defined (MIPSEB) 492*132f818dSEnji Cooper #if defined (SYSTYPE_SYSV) 493*132f818dSEnji Cooper printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 494*132f818dSEnji Cooper #endif 495*132f818dSEnji Cooper #if defined (SYSTYPE_SVR4) 496*132f818dSEnji Cooper printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 497*132f818dSEnji Cooper #endif 498*132f818dSEnji Cooper #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 499*132f818dSEnji Cooper printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 500*132f818dSEnji Cooper #endif 501*132f818dSEnji Cooper #endif 502*132f818dSEnji Cooper exit (-1); 503*132f818dSEnji Cooper } 504*132f818dSEnji CooperEOF 505*132f818dSEnji Cooper $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 506*132f818dSEnji Cooper dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 507*132f818dSEnji Cooper SYSTEM_NAME=`"$dummy" "$dummyarg"` && 508*132f818dSEnji Cooper { echo "$SYSTEM_NAME"; exit; } 509*132f818dSEnji Cooper echo mips-mips-riscos"$UNAME_RELEASE" 510*132f818dSEnji Cooper exit ;; 511*132f818dSEnji Cooper Motorola:PowerMAX_OS:*:*) 512*132f818dSEnji Cooper echo powerpc-motorola-powermax 513*132f818dSEnji Cooper exit ;; 514*132f818dSEnji Cooper Motorola:*:4.3:PL8-*) 515*132f818dSEnji Cooper echo powerpc-harris-powermax 516*132f818dSEnji Cooper exit ;; 517*132f818dSEnji Cooper Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 518*132f818dSEnji Cooper echo powerpc-harris-powermax 519*132f818dSEnji Cooper exit ;; 520*132f818dSEnji Cooper Night_Hawk:Power_UNIX:*:*) 521*132f818dSEnji Cooper echo powerpc-harris-powerunix 522*132f818dSEnji Cooper exit ;; 523*132f818dSEnji Cooper m88k:CX/UX:7*:*) 524*132f818dSEnji Cooper echo m88k-harris-cxux7 525*132f818dSEnji Cooper exit ;; 526*132f818dSEnji Cooper m88k:*:4*:R4*) 527*132f818dSEnji Cooper echo m88k-motorola-sysv4 528*132f818dSEnji Cooper exit ;; 529*132f818dSEnji Cooper m88k:*:3*:R3*) 530*132f818dSEnji Cooper echo m88k-motorola-sysv3 531*132f818dSEnji Cooper exit ;; 532*132f818dSEnji Cooper AViiON:dgux:*:*) 533*132f818dSEnji Cooper # DG/UX returns AViiON for all architectures 534*132f818dSEnji Cooper UNAME_PROCESSOR=`/usr/bin/uname -p` 535*132f818dSEnji Cooper if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] 536*132f818dSEnji Cooper then 537*132f818dSEnji Cooper if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ 538*132f818dSEnji Cooper [ "$TARGET_BINARY_INTERFACE"x = x ] 539*132f818dSEnji Cooper then 540*132f818dSEnji Cooper echo m88k-dg-dgux"$UNAME_RELEASE" 541*132f818dSEnji Cooper else 542*132f818dSEnji Cooper echo m88k-dg-dguxbcs"$UNAME_RELEASE" 543*132f818dSEnji Cooper fi 544*132f818dSEnji Cooper else 545*132f818dSEnji Cooper echo i586-dg-dgux"$UNAME_RELEASE" 546*132f818dSEnji Cooper fi 547*132f818dSEnji Cooper exit ;; 548*132f818dSEnji Cooper M88*:DolphinOS:*:*) # DolphinOS (SVR3) 549*132f818dSEnji Cooper echo m88k-dolphin-sysv3 550*132f818dSEnji Cooper exit ;; 551*132f818dSEnji Cooper M88*:*:R3*:*) 552*132f818dSEnji Cooper # Delta 88k system running SVR3 553*132f818dSEnji Cooper echo m88k-motorola-sysv3 554*132f818dSEnji Cooper exit ;; 555*132f818dSEnji Cooper XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 556*132f818dSEnji Cooper echo m88k-tektronix-sysv3 557*132f818dSEnji Cooper exit ;; 558*132f818dSEnji Cooper Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 559*132f818dSEnji Cooper echo m68k-tektronix-bsd 560*132f818dSEnji Cooper exit ;; 561*132f818dSEnji Cooper *:IRIX*:*:*) 562*132f818dSEnji Cooper echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" 563*132f818dSEnji Cooper exit ;; 564*132f818dSEnji Cooper ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 565*132f818dSEnji Cooper echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 566*132f818dSEnji Cooper exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 567*132f818dSEnji Cooper i*86:AIX:*:*) 568*132f818dSEnji Cooper echo i386-ibm-aix 569*132f818dSEnji Cooper exit ;; 570*132f818dSEnji Cooper ia64:AIX:*:*) 571*132f818dSEnji Cooper if [ -x /usr/bin/oslevel ] ; then 572*132f818dSEnji Cooper IBM_REV=`/usr/bin/oslevel` 573*132f818dSEnji Cooper else 574*132f818dSEnji Cooper IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 575*132f818dSEnji Cooper fi 576*132f818dSEnji Cooper echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" 577*132f818dSEnji Cooper exit ;; 578*132f818dSEnji Cooper *:AIX:2:3) 579*132f818dSEnji Cooper if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 580*132f818dSEnji Cooper set_cc_for_build 581*132f818dSEnji Cooper sed 's/^ //' << EOF > "$dummy.c" 582*132f818dSEnji Cooper #include <sys/systemcfg.h> 583*132f818dSEnji Cooper 584*132f818dSEnji Cooper main() 585*132f818dSEnji Cooper { 586*132f818dSEnji Cooper if (!__power_pc()) 587*132f818dSEnji Cooper exit(1); 588*132f818dSEnji Cooper puts("powerpc-ibm-aix3.2.5"); 589*132f818dSEnji Cooper exit(0); 590*132f818dSEnji Cooper } 591*132f818dSEnji CooperEOF 592*132f818dSEnji Cooper if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 593*132f818dSEnji Cooper then 594*132f818dSEnji Cooper echo "$SYSTEM_NAME" 595*132f818dSEnji Cooper else 596*132f818dSEnji Cooper echo rs6000-ibm-aix3.2.5 597*132f818dSEnji Cooper fi 598*132f818dSEnji Cooper elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 599*132f818dSEnji Cooper echo rs6000-ibm-aix3.2.4 600*132f818dSEnji Cooper else 601*132f818dSEnji Cooper echo rs6000-ibm-aix3.2 602*132f818dSEnji Cooper fi 603*132f818dSEnji Cooper exit ;; 604*132f818dSEnji Cooper *:AIX:*:[4567]) 605*132f818dSEnji Cooper IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 606*132f818dSEnji Cooper if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 607*132f818dSEnji Cooper IBM_ARCH=rs6000 608*132f818dSEnji Cooper else 609*132f818dSEnji Cooper IBM_ARCH=powerpc 610*132f818dSEnji Cooper fi 611*132f818dSEnji Cooper if [ -x /usr/bin/lslpp ] ; then 612*132f818dSEnji Cooper IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 613*132f818dSEnji Cooper awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 614*132f818dSEnji Cooper else 615*132f818dSEnji Cooper IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 616*132f818dSEnji Cooper fi 617*132f818dSEnji Cooper echo "$IBM_ARCH"-ibm-aix"$IBM_REV" 618*132f818dSEnji Cooper exit ;; 619*132f818dSEnji Cooper *:AIX:*:*) 620*132f818dSEnji Cooper echo rs6000-ibm-aix 621*132f818dSEnji Cooper exit ;; 622*132f818dSEnji Cooper ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 623*132f818dSEnji Cooper echo romp-ibm-bsd4.4 624*132f818dSEnji Cooper exit ;; 625*132f818dSEnji Cooper ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 626*132f818dSEnji Cooper echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to 627*132f818dSEnji Cooper exit ;; # report: romp-ibm BSD 4.3 628*132f818dSEnji Cooper *:BOSX:*:*) 629*132f818dSEnji Cooper echo rs6000-bull-bosx 630*132f818dSEnji Cooper exit ;; 631*132f818dSEnji Cooper DPX/2?00:B.O.S.:*:*) 632*132f818dSEnji Cooper echo m68k-bull-sysv3 633*132f818dSEnji Cooper exit ;; 634*132f818dSEnji Cooper 9000/[34]??:4.3bsd:1.*:*) 635*132f818dSEnji Cooper echo m68k-hp-bsd 636*132f818dSEnji Cooper exit ;; 637*132f818dSEnji Cooper hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 638*132f818dSEnji Cooper echo m68k-hp-bsd4.4 639*132f818dSEnji Cooper exit ;; 640*132f818dSEnji Cooper 9000/[34678]??:HP-UX:*:*) 641*132f818dSEnji Cooper HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` 642*132f818dSEnji Cooper case "$UNAME_MACHINE" in 643*132f818dSEnji Cooper 9000/31?) HP_ARCH=m68000 ;; 644*132f818dSEnji Cooper 9000/[34]??) HP_ARCH=m68k ;; 645*132f818dSEnji Cooper 9000/[678][0-9][0-9]) 646*132f818dSEnji Cooper if [ -x /usr/bin/getconf ]; then 647*132f818dSEnji Cooper sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 648*132f818dSEnji Cooper sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 649*132f818dSEnji Cooper case "$sc_cpu_version" in 650*132f818dSEnji Cooper 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 651*132f818dSEnji Cooper 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 652*132f818dSEnji Cooper 532) # CPU_PA_RISC2_0 653*132f818dSEnji Cooper case "$sc_kernel_bits" in 654*132f818dSEnji Cooper 32) HP_ARCH=hppa2.0n ;; 655*132f818dSEnji Cooper 64) HP_ARCH=hppa2.0w ;; 656*132f818dSEnji Cooper '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 657*132f818dSEnji Cooper esac ;; 658*132f818dSEnji Cooper esac 659*132f818dSEnji Cooper fi 660*132f818dSEnji Cooper if [ "$HP_ARCH" = "" ]; then 661*132f818dSEnji Cooper set_cc_for_build 662*132f818dSEnji Cooper sed 's/^ //' << EOF > "$dummy.c" 663*132f818dSEnji Cooper 664*132f818dSEnji Cooper #define _HPUX_SOURCE 665*132f818dSEnji Cooper #include <stdlib.h> 666*132f818dSEnji Cooper #include <unistd.h> 667*132f818dSEnji Cooper 668*132f818dSEnji Cooper int main () 669*132f818dSEnji Cooper { 670*132f818dSEnji Cooper #if defined(_SC_KERNEL_BITS) 671*132f818dSEnji Cooper long bits = sysconf(_SC_KERNEL_BITS); 672*132f818dSEnji Cooper #endif 673*132f818dSEnji Cooper long cpu = sysconf (_SC_CPU_VERSION); 674*132f818dSEnji Cooper 675*132f818dSEnji Cooper switch (cpu) 676*132f818dSEnji Cooper { 677*132f818dSEnji Cooper case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 678*132f818dSEnji Cooper case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 679*132f818dSEnji Cooper case CPU_PA_RISC2_0: 680*132f818dSEnji Cooper #if defined(_SC_KERNEL_BITS) 681*132f818dSEnji Cooper switch (bits) 682*132f818dSEnji Cooper { 683*132f818dSEnji Cooper case 64: puts ("hppa2.0w"); break; 684*132f818dSEnji Cooper case 32: puts ("hppa2.0n"); break; 685*132f818dSEnji Cooper default: puts ("hppa2.0"); break; 686*132f818dSEnji Cooper } break; 687*132f818dSEnji Cooper #else /* !defined(_SC_KERNEL_BITS) */ 688*132f818dSEnji Cooper puts ("hppa2.0"); break; 689*132f818dSEnji Cooper #endif 690*132f818dSEnji Cooper default: puts ("hppa1.0"); break; 691*132f818dSEnji Cooper } 692*132f818dSEnji Cooper exit (0); 693*132f818dSEnji Cooper } 694*132f818dSEnji CooperEOF 695*132f818dSEnji Cooper (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 696*132f818dSEnji Cooper test -z "$HP_ARCH" && HP_ARCH=hppa 697*132f818dSEnji Cooper fi ;; 698*132f818dSEnji Cooper esac 699*132f818dSEnji Cooper if [ "$HP_ARCH" = hppa2.0w ] 700*132f818dSEnji Cooper then 701*132f818dSEnji Cooper set_cc_for_build 702*132f818dSEnji Cooper 703*132f818dSEnji Cooper # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 704*132f818dSEnji Cooper # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 705*132f818dSEnji Cooper # generating 64-bit code. GNU and HP use different nomenclature: 706*132f818dSEnji Cooper # 707*132f818dSEnji Cooper # $ CC_FOR_BUILD=cc ./config.guess 708*132f818dSEnji Cooper # => hppa2.0w-hp-hpux11.23 709*132f818dSEnji Cooper # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 710*132f818dSEnji Cooper # => hppa64-hp-hpux11.23 711*132f818dSEnji Cooper 712*132f818dSEnji Cooper if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 713*132f818dSEnji Cooper grep -q __LP64__ 714*132f818dSEnji Cooper then 715*132f818dSEnji Cooper HP_ARCH=hppa2.0w 716*132f818dSEnji Cooper else 717*132f818dSEnji Cooper HP_ARCH=hppa64 718*132f818dSEnji Cooper fi 719*132f818dSEnji Cooper fi 720*132f818dSEnji Cooper echo "$HP_ARCH"-hp-hpux"$HPUX_REV" 721*132f818dSEnji Cooper exit ;; 722*132f818dSEnji Cooper ia64:HP-UX:*:*) 723*132f818dSEnji Cooper HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` 724*132f818dSEnji Cooper echo ia64-hp-hpux"$HPUX_REV" 725*132f818dSEnji Cooper exit ;; 726*132f818dSEnji Cooper 3050*:HI-UX:*:*) 727*132f818dSEnji Cooper set_cc_for_build 728*132f818dSEnji Cooper sed 's/^ //' << EOF > "$dummy.c" 729*132f818dSEnji Cooper #include <unistd.h> 730*132f818dSEnji Cooper int 731*132f818dSEnji Cooper main () 732*132f818dSEnji Cooper { 733*132f818dSEnji Cooper long cpu = sysconf (_SC_CPU_VERSION); 734*132f818dSEnji Cooper /* The order matters, because CPU_IS_HP_MC68K erroneously returns 735*132f818dSEnji Cooper true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 736*132f818dSEnji Cooper results, however. */ 737*132f818dSEnji Cooper if (CPU_IS_PA_RISC (cpu)) 738*132f818dSEnji Cooper { 739*132f818dSEnji Cooper switch (cpu) 740*132f818dSEnji Cooper { 741*132f818dSEnji Cooper case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 742*132f818dSEnji Cooper case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 743*132f818dSEnji Cooper case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 744*132f818dSEnji Cooper default: puts ("hppa-hitachi-hiuxwe2"); break; 745*132f818dSEnji Cooper } 746*132f818dSEnji Cooper } 747*132f818dSEnji Cooper else if (CPU_IS_HP_MC68K (cpu)) 748*132f818dSEnji Cooper puts ("m68k-hitachi-hiuxwe2"); 749*132f818dSEnji Cooper else puts ("unknown-hitachi-hiuxwe2"); 750*132f818dSEnji Cooper exit (0); 751*132f818dSEnji Cooper } 752*132f818dSEnji CooperEOF 753*132f818dSEnji Cooper $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 754*132f818dSEnji Cooper { echo "$SYSTEM_NAME"; exit; } 755*132f818dSEnji Cooper echo unknown-hitachi-hiuxwe2 756*132f818dSEnji Cooper exit ;; 757*132f818dSEnji Cooper 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 758*132f818dSEnji Cooper echo hppa1.1-hp-bsd 759*132f818dSEnji Cooper exit ;; 760*132f818dSEnji Cooper 9000/8??:4.3bsd:*:*) 761*132f818dSEnji Cooper echo hppa1.0-hp-bsd 762*132f818dSEnji Cooper exit ;; 763*132f818dSEnji Cooper *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 764*132f818dSEnji Cooper echo hppa1.0-hp-mpeix 765*132f818dSEnji Cooper exit ;; 766*132f818dSEnji Cooper hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 767*132f818dSEnji Cooper echo hppa1.1-hp-osf 768*132f818dSEnji Cooper exit ;; 769*132f818dSEnji Cooper hp8??:OSF1:*:*) 770*132f818dSEnji Cooper echo hppa1.0-hp-osf 771*132f818dSEnji Cooper exit ;; 772*132f818dSEnji Cooper i*86:OSF1:*:*) 773*132f818dSEnji Cooper if [ -x /usr/sbin/sysversion ] ; then 774*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-osf1mk 775*132f818dSEnji Cooper else 776*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-osf1 777*132f818dSEnji Cooper fi 778*132f818dSEnji Cooper exit ;; 779*132f818dSEnji Cooper parisc*:Lites*:*:*) 780*132f818dSEnji Cooper echo hppa1.1-hp-lites 781*132f818dSEnji Cooper exit ;; 782*132f818dSEnji Cooper C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 783*132f818dSEnji Cooper echo c1-convex-bsd 784*132f818dSEnji Cooper exit ;; 785*132f818dSEnji Cooper C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 786*132f818dSEnji Cooper if getsysinfo -f scalar_acc 787*132f818dSEnji Cooper then echo c32-convex-bsd 788*132f818dSEnji Cooper else echo c2-convex-bsd 789*132f818dSEnji Cooper fi 790*132f818dSEnji Cooper exit ;; 791*132f818dSEnji Cooper C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 792*132f818dSEnji Cooper echo c34-convex-bsd 793*132f818dSEnji Cooper exit ;; 794*132f818dSEnji Cooper C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 795*132f818dSEnji Cooper echo c38-convex-bsd 796*132f818dSEnji Cooper exit ;; 797*132f818dSEnji Cooper C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 798*132f818dSEnji Cooper echo c4-convex-bsd 799*132f818dSEnji Cooper exit ;; 800*132f818dSEnji Cooper CRAY*Y-MP:*:*:*) 801*132f818dSEnji Cooper echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 802*132f818dSEnji Cooper exit ;; 803*132f818dSEnji Cooper CRAY*[A-Z]90:*:*:*) 804*132f818dSEnji Cooper echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 805*132f818dSEnji Cooper | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 806*132f818dSEnji Cooper -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 807*132f818dSEnji Cooper -e 's/\.[^.]*$/.X/' 808*132f818dSEnji Cooper exit ;; 809*132f818dSEnji Cooper CRAY*TS:*:*:*) 810*132f818dSEnji Cooper echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 811*132f818dSEnji Cooper exit ;; 812*132f818dSEnji Cooper CRAY*T3E:*:*:*) 813*132f818dSEnji Cooper echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 814*132f818dSEnji Cooper exit ;; 815*132f818dSEnji Cooper CRAY*SV1:*:*:*) 816*132f818dSEnji Cooper echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 817*132f818dSEnji Cooper exit ;; 818*132f818dSEnji Cooper *:UNICOS/mp:*:*) 819*132f818dSEnji Cooper echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 820*132f818dSEnji Cooper exit ;; 821*132f818dSEnji Cooper F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 822*132f818dSEnji Cooper FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 823*132f818dSEnji Cooper FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 824*132f818dSEnji Cooper FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 825*132f818dSEnji Cooper echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 826*132f818dSEnji Cooper exit ;; 827*132f818dSEnji Cooper 5000:UNIX_System_V:4.*:*) 828*132f818dSEnji Cooper FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 829*132f818dSEnji Cooper FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 830*132f818dSEnji Cooper echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 831*132f818dSEnji Cooper exit ;; 832*132f818dSEnji Cooper i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 833*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" 834*132f818dSEnji Cooper exit ;; 835*132f818dSEnji Cooper sparc*:BSD/OS:*:*) 836*132f818dSEnji Cooper echo sparc-unknown-bsdi"$UNAME_RELEASE" 837*132f818dSEnji Cooper exit ;; 838*132f818dSEnji Cooper *:BSD/OS:*:*) 839*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" 840*132f818dSEnji Cooper exit ;; 841*132f818dSEnji Cooper arm:FreeBSD:*:*) 842*132f818dSEnji Cooper UNAME_PROCESSOR=`uname -p` 843*132f818dSEnji Cooper set_cc_for_build 844*132f818dSEnji Cooper if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 845*132f818dSEnji Cooper | grep -q __ARM_PCS_VFP 846*132f818dSEnji Cooper then 847*132f818dSEnji Cooper echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi 848*132f818dSEnji Cooper else 849*132f818dSEnji Cooper echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf 850*132f818dSEnji Cooper fi 851*132f818dSEnji Cooper exit ;; 852*132f818dSEnji Cooper *:FreeBSD:*:*) 853*132f818dSEnji Cooper UNAME_PROCESSOR=`/usr/bin/uname -p` 854*132f818dSEnji Cooper echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 855*132f818dSEnji Cooper exit ;; 856*132f818dSEnji Cooper i*:CYGWIN*:*) 857*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-cygwin 858*132f818dSEnji Cooper exit ;; 859*132f818dSEnji Cooper *:MINGW64*:*) 860*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-mingw64 861*132f818dSEnji Cooper exit ;; 862*132f818dSEnji Cooper *:MINGW*:*) 863*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-mingw32 864*132f818dSEnji Cooper exit ;; 865*132f818dSEnji Cooper *:MSYS*:*) 866*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-msys 867*132f818dSEnji Cooper exit ;; 868*132f818dSEnji Cooper i*:PW*:*) 869*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-pw32 870*132f818dSEnji Cooper exit ;; 871*132f818dSEnji Cooper *:Interix*:*) 872*132f818dSEnji Cooper case "$UNAME_MACHINE" in 873*132f818dSEnji Cooper x86) 874*132f818dSEnji Cooper echo i586-pc-interix"$UNAME_RELEASE" 875*132f818dSEnji Cooper exit ;; 876*132f818dSEnji Cooper authenticamd | genuineintel | EM64T) 877*132f818dSEnji Cooper echo x86_64-unknown-interix"$UNAME_RELEASE" 878*132f818dSEnji Cooper exit ;; 879*132f818dSEnji Cooper IA64) 880*132f818dSEnji Cooper echo ia64-unknown-interix"$UNAME_RELEASE" 881*132f818dSEnji Cooper exit ;; 882*132f818dSEnji Cooper esac ;; 883*132f818dSEnji Cooper i*:UWIN*:*) 884*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-uwin 885*132f818dSEnji Cooper exit ;; 886*132f818dSEnji Cooper amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 887*132f818dSEnji Cooper echo x86_64-unknown-cygwin 888*132f818dSEnji Cooper exit ;; 889*132f818dSEnji Cooper prep*:SunOS:5.*:*) 890*132f818dSEnji Cooper echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" 891*132f818dSEnji Cooper exit ;; 892*132f818dSEnji Cooper *:GNU:*:*) 893*132f818dSEnji Cooper # the GNU system 894*132f818dSEnji Cooper echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" 895*132f818dSEnji Cooper exit ;; 896*132f818dSEnji Cooper *:GNU/*:*:*) 897*132f818dSEnji Cooper # other systems with GNU libc and userland 898*132f818dSEnji Cooper echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" 899*132f818dSEnji Cooper exit ;; 900*132f818dSEnji Cooper *:Minix:*:*) 901*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-minix 902*132f818dSEnji Cooper exit ;; 903*132f818dSEnji Cooper aarch64:Linux:*:*) 904*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 905*132f818dSEnji Cooper exit ;; 906*132f818dSEnji Cooper aarch64_be:Linux:*:*) 907*132f818dSEnji Cooper UNAME_MACHINE=aarch64_be 908*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 909*132f818dSEnji Cooper exit ;; 910*132f818dSEnji Cooper alpha:Linux:*:*) 911*132f818dSEnji Cooper case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 912*132f818dSEnji Cooper EV5) UNAME_MACHINE=alphaev5 ;; 913*132f818dSEnji Cooper EV56) UNAME_MACHINE=alphaev56 ;; 914*132f818dSEnji Cooper PCA56) UNAME_MACHINE=alphapca56 ;; 915*132f818dSEnji Cooper PCA57) UNAME_MACHINE=alphapca56 ;; 916*132f818dSEnji Cooper EV6) UNAME_MACHINE=alphaev6 ;; 917*132f818dSEnji Cooper EV67) UNAME_MACHINE=alphaev67 ;; 918*132f818dSEnji Cooper EV68*) UNAME_MACHINE=alphaev68 ;; 919*132f818dSEnji Cooper esac 920*132f818dSEnji Cooper objdump --private-headers /bin/sh | grep -q ld.so.1 921*132f818dSEnji Cooper if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 922*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 923*132f818dSEnji Cooper exit ;; 924*132f818dSEnji Cooper arc:Linux:*:* | arceb:Linux:*:*) 925*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 926*132f818dSEnji Cooper exit ;; 927*132f818dSEnji Cooper arm*:Linux:*:*) 928*132f818dSEnji Cooper set_cc_for_build 929*132f818dSEnji Cooper if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 930*132f818dSEnji Cooper | grep -q __ARM_EABI__ 931*132f818dSEnji Cooper then 932*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 933*132f818dSEnji Cooper else 934*132f818dSEnji Cooper if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 935*132f818dSEnji Cooper | grep -q __ARM_PCS_VFP 936*132f818dSEnji Cooper then 937*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi 938*132f818dSEnji Cooper else 939*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf 940*132f818dSEnji Cooper fi 941*132f818dSEnji Cooper fi 942*132f818dSEnji Cooper exit ;; 943*132f818dSEnji Cooper avr32*:Linux:*:*) 944*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 945*132f818dSEnji Cooper exit ;; 946*132f818dSEnji Cooper cris:Linux:*:*) 947*132f818dSEnji Cooper echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 948*132f818dSEnji Cooper exit ;; 949*132f818dSEnji Cooper crisv32:Linux:*:*) 950*132f818dSEnji Cooper echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 951*132f818dSEnji Cooper exit ;; 952*132f818dSEnji Cooper e2k:Linux:*:*) 953*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 954*132f818dSEnji Cooper exit ;; 955*132f818dSEnji Cooper frv:Linux:*:*) 956*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 957*132f818dSEnji Cooper exit ;; 958*132f818dSEnji Cooper hexagon:Linux:*:*) 959*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 960*132f818dSEnji Cooper exit ;; 961*132f818dSEnji Cooper i*86:Linux:*:*) 962*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-linux-"$LIBC" 963*132f818dSEnji Cooper exit ;; 964*132f818dSEnji Cooper ia64:Linux:*:*) 965*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 966*132f818dSEnji Cooper exit ;; 967*132f818dSEnji Cooper k1om:Linux:*:*) 968*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 969*132f818dSEnji Cooper exit ;; 970*132f818dSEnji Cooper m32r*:Linux:*:*) 971*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 972*132f818dSEnji Cooper exit ;; 973*132f818dSEnji Cooper m68*:Linux:*:*) 974*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 975*132f818dSEnji Cooper exit ;; 976*132f818dSEnji Cooper mips:Linux:*:* | mips64:Linux:*:*) 977*132f818dSEnji Cooper set_cc_for_build 978*132f818dSEnji Cooper sed 's/^ //' << EOF > "$dummy.c" 979*132f818dSEnji Cooper #undef CPU 980*132f818dSEnji Cooper #undef ${UNAME_MACHINE} 981*132f818dSEnji Cooper #undef ${UNAME_MACHINE}el 982*132f818dSEnji Cooper #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 983*132f818dSEnji Cooper CPU=${UNAME_MACHINE}el 984*132f818dSEnji Cooper #else 985*132f818dSEnji Cooper #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 986*132f818dSEnji Cooper CPU=${UNAME_MACHINE} 987*132f818dSEnji Cooper #else 988*132f818dSEnji Cooper CPU= 989*132f818dSEnji Cooper #endif 990*132f818dSEnji Cooper #endif 991*132f818dSEnji CooperEOF 992*132f818dSEnji Cooper eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" 993*132f818dSEnji Cooper test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } 994*132f818dSEnji Cooper ;; 995*132f818dSEnji Cooper mips64el:Linux:*:*) 996*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 997*132f818dSEnji Cooper exit ;; 998*132f818dSEnji Cooper openrisc*:Linux:*:*) 999*132f818dSEnji Cooper echo or1k-unknown-linux-"$LIBC" 1000*132f818dSEnji Cooper exit ;; 1001*132f818dSEnji Cooper or32:Linux:*:* | or1k*:Linux:*:*) 1002*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1003*132f818dSEnji Cooper exit ;; 1004*132f818dSEnji Cooper padre:Linux:*:*) 1005*132f818dSEnji Cooper echo sparc-unknown-linux-"$LIBC" 1006*132f818dSEnji Cooper exit ;; 1007*132f818dSEnji Cooper parisc64:Linux:*:* | hppa64:Linux:*:*) 1008*132f818dSEnji Cooper echo hppa64-unknown-linux-"$LIBC" 1009*132f818dSEnji Cooper exit ;; 1010*132f818dSEnji Cooper parisc:Linux:*:* | hppa:Linux:*:*) 1011*132f818dSEnji Cooper # Look for CPU level 1012*132f818dSEnji Cooper case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1013*132f818dSEnji Cooper PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; 1014*132f818dSEnji Cooper PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; 1015*132f818dSEnji Cooper *) echo hppa-unknown-linux-"$LIBC" ;; 1016*132f818dSEnji Cooper esac 1017*132f818dSEnji Cooper exit ;; 1018*132f818dSEnji Cooper ppc64:Linux:*:*) 1019*132f818dSEnji Cooper echo powerpc64-unknown-linux-"$LIBC" 1020*132f818dSEnji Cooper exit ;; 1021*132f818dSEnji Cooper ppc:Linux:*:*) 1022*132f818dSEnji Cooper echo powerpc-unknown-linux-"$LIBC" 1023*132f818dSEnji Cooper exit ;; 1024*132f818dSEnji Cooper ppc64le:Linux:*:*) 1025*132f818dSEnji Cooper echo powerpc64le-unknown-linux-"$LIBC" 1026*132f818dSEnji Cooper exit ;; 1027*132f818dSEnji Cooper ppcle:Linux:*:*) 1028*132f818dSEnji Cooper echo powerpcle-unknown-linux-"$LIBC" 1029*132f818dSEnji Cooper exit ;; 1030*132f818dSEnji Cooper riscv32:Linux:*:* | riscv64:Linux:*:*) 1031*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1032*132f818dSEnji Cooper exit ;; 1033*132f818dSEnji Cooper s390:Linux:*:* | s390x:Linux:*:*) 1034*132f818dSEnji Cooper echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" 1035*132f818dSEnji Cooper exit ;; 1036*132f818dSEnji Cooper sh64*:Linux:*:*) 1037*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1038*132f818dSEnji Cooper exit ;; 1039*132f818dSEnji Cooper sh*:Linux:*:*) 1040*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1041*132f818dSEnji Cooper exit ;; 1042*132f818dSEnji Cooper sparc:Linux:*:* | sparc64:Linux:*:*) 1043*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1044*132f818dSEnji Cooper exit ;; 1045*132f818dSEnji Cooper tile*:Linux:*:*) 1046*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1047*132f818dSEnji Cooper exit ;; 1048*132f818dSEnji Cooper vax:Linux:*:*) 1049*132f818dSEnji Cooper echo "$UNAME_MACHINE"-dec-linux-"$LIBC" 1050*132f818dSEnji Cooper exit ;; 1051*132f818dSEnji Cooper x86_64:Linux:*:*) 1052*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-linux-"$LIBC" 1053*132f818dSEnji Cooper exit ;; 1054*132f818dSEnji Cooper xtensa*:Linux:*:*) 1055*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1056*132f818dSEnji Cooper exit ;; 1057*132f818dSEnji Cooper i*86:DYNIX/ptx:4*:*) 1058*132f818dSEnji Cooper # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1059*132f818dSEnji Cooper # earlier versions are messed up and put the nodename in both 1060*132f818dSEnji Cooper # sysname and nodename. 1061*132f818dSEnji Cooper echo i386-sequent-sysv4 1062*132f818dSEnji Cooper exit ;; 1063*132f818dSEnji Cooper i*86:UNIX_SV:4.2MP:2.*) 1064*132f818dSEnji Cooper # Unixware is an offshoot of SVR4, but it has its own version 1065*132f818dSEnji Cooper # number series starting with 2... 1066*132f818dSEnji Cooper # I am not positive that other SVR4 systems won't match this, 1067*132f818dSEnji Cooper # I just have to hope. -- rms. 1068*132f818dSEnji Cooper # Use sysv4.2uw... so that sysv4* matches it. 1069*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" 1070*132f818dSEnji Cooper exit ;; 1071*132f818dSEnji Cooper i*86:OS/2:*:*) 1072*132f818dSEnji Cooper # If we were able to find `uname', then EMX Unix compatibility 1073*132f818dSEnji Cooper # is probably installed. 1074*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-os2-emx 1075*132f818dSEnji Cooper exit ;; 1076*132f818dSEnji Cooper i*86:XTS-300:*:STOP) 1077*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-stop 1078*132f818dSEnji Cooper exit ;; 1079*132f818dSEnji Cooper i*86:atheos:*:*) 1080*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-atheos 1081*132f818dSEnji Cooper exit ;; 1082*132f818dSEnji Cooper i*86:syllable:*:*) 1083*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-syllable 1084*132f818dSEnji Cooper exit ;; 1085*132f818dSEnji Cooper i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1086*132f818dSEnji Cooper echo i386-unknown-lynxos"$UNAME_RELEASE" 1087*132f818dSEnji Cooper exit ;; 1088*132f818dSEnji Cooper i*86:*DOS:*:*) 1089*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-msdosdjgpp 1090*132f818dSEnji Cooper exit ;; 1091*132f818dSEnji Cooper i*86:*:4.*:*) 1092*132f818dSEnji Cooper UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1093*132f818dSEnji Cooper if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1094*132f818dSEnji Cooper echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" 1095*132f818dSEnji Cooper else 1096*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" 1097*132f818dSEnji Cooper fi 1098*132f818dSEnji Cooper exit ;; 1099*132f818dSEnji Cooper i*86:*:5:[678]*) 1100*132f818dSEnji Cooper # UnixWare 7.x, OpenUNIX and OpenServer 6. 1101*132f818dSEnji Cooper case `/bin/uname -X | grep "^Machine"` in 1102*132f818dSEnji Cooper *486*) UNAME_MACHINE=i486 ;; 1103*132f818dSEnji Cooper *Pentium) UNAME_MACHINE=i586 ;; 1104*132f818dSEnji Cooper *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1105*132f818dSEnji Cooper esac 1106*132f818dSEnji Cooper echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" 1107*132f818dSEnji Cooper exit ;; 1108*132f818dSEnji Cooper i*86:*:3.2:*) 1109*132f818dSEnji Cooper if test -f /usr/options/cb.name; then 1110*132f818dSEnji Cooper UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1111*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" 1112*132f818dSEnji Cooper elif /bin/uname -X 2>/dev/null >/dev/null ; then 1113*132f818dSEnji Cooper UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1114*132f818dSEnji Cooper (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1115*132f818dSEnji Cooper (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1116*132f818dSEnji Cooper && UNAME_MACHINE=i586 1117*132f818dSEnji Cooper (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1118*132f818dSEnji Cooper && UNAME_MACHINE=i686 1119*132f818dSEnji Cooper (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1120*132f818dSEnji Cooper && UNAME_MACHINE=i686 1121*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" 1122*132f818dSEnji Cooper else 1123*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-sysv32 1124*132f818dSEnji Cooper fi 1125*132f818dSEnji Cooper exit ;; 1126*132f818dSEnji Cooper pc:*:*:*) 1127*132f818dSEnji Cooper # Left here for compatibility: 1128*132f818dSEnji Cooper # uname -m prints for DJGPP always 'pc', but it prints nothing about 1129*132f818dSEnji Cooper # the processor, so we play safe by assuming i586. 1130*132f818dSEnji Cooper # Note: whatever this is, it MUST be the same as what config.sub 1131*132f818dSEnji Cooper # prints for the "djgpp" host, or else GDB configure will decide that 1132*132f818dSEnji Cooper # this is a cross-build. 1133*132f818dSEnji Cooper echo i586-pc-msdosdjgpp 1134*132f818dSEnji Cooper exit ;; 1135*132f818dSEnji Cooper Intel:Mach:3*:*) 1136*132f818dSEnji Cooper echo i386-pc-mach3 1137*132f818dSEnji Cooper exit ;; 1138*132f818dSEnji Cooper paragon:*:*:*) 1139*132f818dSEnji Cooper echo i860-intel-osf1 1140*132f818dSEnji Cooper exit ;; 1141*132f818dSEnji Cooper i860:*:4.*:*) # i860-SVR4 1142*132f818dSEnji Cooper if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1143*132f818dSEnji Cooper echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 1144*132f818dSEnji Cooper else # Add other i860-SVR4 vendors below as they are discovered. 1145*132f818dSEnji Cooper echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 1146*132f818dSEnji Cooper fi 1147*132f818dSEnji Cooper exit ;; 1148*132f818dSEnji Cooper mini*:CTIX:SYS*5:*) 1149*132f818dSEnji Cooper # "miniframe" 1150*132f818dSEnji Cooper echo m68010-convergent-sysv 1151*132f818dSEnji Cooper exit ;; 1152*132f818dSEnji Cooper mc68k:UNIX:SYSTEM5:3.51m) 1153*132f818dSEnji Cooper echo m68k-convergent-sysv 1154*132f818dSEnji Cooper exit ;; 1155*132f818dSEnji Cooper M680?0:D-NIX:5.3:*) 1156*132f818dSEnji Cooper echo m68k-diab-dnix 1157*132f818dSEnji Cooper exit ;; 1158*132f818dSEnji Cooper M68*:*:R3V[5678]*:*) 1159*132f818dSEnji Cooper test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1160*132f818dSEnji Cooper 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) 1161*132f818dSEnji Cooper OS_REL='' 1162*132f818dSEnji Cooper test -r /etc/.relid \ 1163*132f818dSEnji Cooper && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1164*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1165*132f818dSEnji Cooper && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1166*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1167*132f818dSEnji Cooper && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1168*132f818dSEnji Cooper 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1169*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1170*132f818dSEnji Cooper && { echo i486-ncr-sysv4; exit; } ;; 1171*132f818dSEnji Cooper NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1172*132f818dSEnji Cooper OS_REL='.3' 1173*132f818dSEnji Cooper test -r /etc/.relid \ 1174*132f818dSEnji Cooper && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1175*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1176*132f818dSEnji Cooper && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1177*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1178*132f818dSEnji Cooper && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1179*132f818dSEnji Cooper /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1180*132f818dSEnji Cooper && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1181*132f818dSEnji Cooper m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1182*132f818dSEnji Cooper echo m68k-unknown-lynxos"$UNAME_RELEASE" 1183*132f818dSEnji Cooper exit ;; 1184*132f818dSEnji Cooper mc68030:UNIX_System_V:4.*:*) 1185*132f818dSEnji Cooper echo m68k-atari-sysv4 1186*132f818dSEnji Cooper exit ;; 1187*132f818dSEnji Cooper TSUNAMI:LynxOS:2.*:*) 1188*132f818dSEnji Cooper echo sparc-unknown-lynxos"$UNAME_RELEASE" 1189*132f818dSEnji Cooper exit ;; 1190*132f818dSEnji Cooper rs6000:LynxOS:2.*:*) 1191*132f818dSEnji Cooper echo rs6000-unknown-lynxos"$UNAME_RELEASE" 1192*132f818dSEnji Cooper exit ;; 1193*132f818dSEnji Cooper PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1194*132f818dSEnji Cooper echo powerpc-unknown-lynxos"$UNAME_RELEASE" 1195*132f818dSEnji Cooper exit ;; 1196*132f818dSEnji Cooper SM[BE]S:UNIX_SV:*:*) 1197*132f818dSEnji Cooper echo mips-dde-sysv"$UNAME_RELEASE" 1198*132f818dSEnji Cooper exit ;; 1199*132f818dSEnji Cooper RM*:ReliantUNIX-*:*:*) 1200*132f818dSEnji Cooper echo mips-sni-sysv4 1201*132f818dSEnji Cooper exit ;; 1202*132f818dSEnji Cooper RM*:SINIX-*:*:*) 1203*132f818dSEnji Cooper echo mips-sni-sysv4 1204*132f818dSEnji Cooper exit ;; 1205*132f818dSEnji Cooper *:SINIX-*:*:*) 1206*132f818dSEnji Cooper if uname -p 2>/dev/null >/dev/null ; then 1207*132f818dSEnji Cooper UNAME_MACHINE=`(uname -p) 2>/dev/null` 1208*132f818dSEnji Cooper echo "$UNAME_MACHINE"-sni-sysv4 1209*132f818dSEnji Cooper else 1210*132f818dSEnji Cooper echo ns32k-sni-sysv 1211*132f818dSEnji Cooper fi 1212*132f818dSEnji Cooper exit ;; 1213*132f818dSEnji Cooper PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1214*132f818dSEnji Cooper # says <Richard.M.Bartel@ccMail.Census.GOV> 1215*132f818dSEnji Cooper echo i586-unisys-sysv4 1216*132f818dSEnji Cooper exit ;; 1217*132f818dSEnji Cooper *:UNIX_System_V:4*:FTX*) 1218*132f818dSEnji Cooper # From Gerald Hewes <hewes@openmarket.com>. 1219*132f818dSEnji Cooper # How about differentiating between stratus architectures? -djm 1220*132f818dSEnji Cooper echo hppa1.1-stratus-sysv4 1221*132f818dSEnji Cooper exit ;; 1222*132f818dSEnji Cooper *:*:*:FTX*) 1223*132f818dSEnji Cooper # From seanf@swdc.stratus.com. 1224*132f818dSEnji Cooper echo i860-stratus-sysv4 1225*132f818dSEnji Cooper exit ;; 1226*132f818dSEnji Cooper i*86:VOS:*:*) 1227*132f818dSEnji Cooper # From Paul.Green@stratus.com. 1228*132f818dSEnji Cooper echo "$UNAME_MACHINE"-stratus-vos 1229*132f818dSEnji Cooper exit ;; 1230*132f818dSEnji Cooper *:VOS:*:*) 1231*132f818dSEnji Cooper # From Paul.Green@stratus.com. 1232*132f818dSEnji Cooper echo hppa1.1-stratus-vos 1233*132f818dSEnji Cooper exit ;; 1234*132f818dSEnji Cooper mc68*:A/UX:*:*) 1235*132f818dSEnji Cooper echo m68k-apple-aux"$UNAME_RELEASE" 1236*132f818dSEnji Cooper exit ;; 1237*132f818dSEnji Cooper news*:NEWS-OS:6*:*) 1238*132f818dSEnji Cooper echo mips-sony-newsos6 1239*132f818dSEnji Cooper exit ;; 1240*132f818dSEnji Cooper R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1241*132f818dSEnji Cooper if [ -d /usr/nec ]; then 1242*132f818dSEnji Cooper echo mips-nec-sysv"$UNAME_RELEASE" 1243*132f818dSEnji Cooper else 1244*132f818dSEnji Cooper echo mips-unknown-sysv"$UNAME_RELEASE" 1245*132f818dSEnji Cooper fi 1246*132f818dSEnji Cooper exit ;; 1247*132f818dSEnji Cooper BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1248*132f818dSEnji Cooper echo powerpc-be-beos 1249*132f818dSEnji Cooper exit ;; 1250*132f818dSEnji Cooper BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1251*132f818dSEnji Cooper echo powerpc-apple-beos 1252*132f818dSEnji Cooper exit ;; 1253*132f818dSEnji Cooper BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1254*132f818dSEnji Cooper echo i586-pc-beos 1255*132f818dSEnji Cooper exit ;; 1256*132f818dSEnji Cooper BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1257*132f818dSEnji Cooper echo i586-pc-haiku 1258*132f818dSEnji Cooper exit ;; 1259*132f818dSEnji Cooper x86_64:Haiku:*:*) 1260*132f818dSEnji Cooper echo x86_64-unknown-haiku 1261*132f818dSEnji Cooper exit ;; 1262*132f818dSEnji Cooper SX-4:SUPER-UX:*:*) 1263*132f818dSEnji Cooper echo sx4-nec-superux"$UNAME_RELEASE" 1264*132f818dSEnji Cooper exit ;; 1265*132f818dSEnji Cooper SX-5:SUPER-UX:*:*) 1266*132f818dSEnji Cooper echo sx5-nec-superux"$UNAME_RELEASE" 1267*132f818dSEnji Cooper exit ;; 1268*132f818dSEnji Cooper SX-6:SUPER-UX:*:*) 1269*132f818dSEnji Cooper echo sx6-nec-superux"$UNAME_RELEASE" 1270*132f818dSEnji Cooper exit ;; 1271*132f818dSEnji Cooper SX-7:SUPER-UX:*:*) 1272*132f818dSEnji Cooper echo sx7-nec-superux"$UNAME_RELEASE" 1273*132f818dSEnji Cooper exit ;; 1274*132f818dSEnji Cooper SX-8:SUPER-UX:*:*) 1275*132f818dSEnji Cooper echo sx8-nec-superux"$UNAME_RELEASE" 1276*132f818dSEnji Cooper exit ;; 1277*132f818dSEnji Cooper SX-8R:SUPER-UX:*:*) 1278*132f818dSEnji Cooper echo sx8r-nec-superux"$UNAME_RELEASE" 1279*132f818dSEnji Cooper exit ;; 1280*132f818dSEnji Cooper SX-ACE:SUPER-UX:*:*) 1281*132f818dSEnji Cooper echo sxace-nec-superux"$UNAME_RELEASE" 1282*132f818dSEnji Cooper exit ;; 1283*132f818dSEnji Cooper Power*:Rhapsody:*:*) 1284*132f818dSEnji Cooper echo powerpc-apple-rhapsody"$UNAME_RELEASE" 1285*132f818dSEnji Cooper exit ;; 1286*132f818dSEnji Cooper *:Rhapsody:*:*) 1287*132f818dSEnji Cooper echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" 1288*132f818dSEnji Cooper exit ;; 1289*132f818dSEnji Cooper *:Darwin:*:*) 1290*132f818dSEnji Cooper UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1291*132f818dSEnji Cooper set_cc_for_build 1292*132f818dSEnji Cooper if test "$UNAME_PROCESSOR" = unknown ; then 1293*132f818dSEnji Cooper UNAME_PROCESSOR=powerpc 1294*132f818dSEnji Cooper fi 1295*132f818dSEnji Cooper if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then 1296*132f818dSEnji Cooper if [ "$CC_FOR_BUILD" != no_compiler_found ]; then 1297*132f818dSEnji Cooper if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1298*132f818dSEnji Cooper (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1299*132f818dSEnji Cooper grep IS_64BIT_ARCH >/dev/null 1300*132f818dSEnji Cooper then 1301*132f818dSEnji Cooper case $UNAME_PROCESSOR in 1302*132f818dSEnji Cooper i386) UNAME_PROCESSOR=x86_64 ;; 1303*132f818dSEnji Cooper powerpc) UNAME_PROCESSOR=powerpc64 ;; 1304*132f818dSEnji Cooper esac 1305*132f818dSEnji Cooper fi 1306*132f818dSEnji Cooper # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1307*132f818dSEnji Cooper if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1308*132f818dSEnji Cooper (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1309*132f818dSEnji Cooper grep IS_PPC >/dev/null 1310*132f818dSEnji Cooper then 1311*132f818dSEnji Cooper UNAME_PROCESSOR=powerpc 1312*132f818dSEnji Cooper fi 1313*132f818dSEnji Cooper fi 1314*132f818dSEnji Cooper elif test "$UNAME_PROCESSOR" = i386 ; then 1315*132f818dSEnji Cooper # Avoid executing cc on OS X 10.9, as it ships with a stub 1316*132f818dSEnji Cooper # that puts up a graphical alert prompting to install 1317*132f818dSEnji Cooper # developer tools. Any system running Mac OS X 10.7 or 1318*132f818dSEnji Cooper # later (Darwin 11 and later) is required to have a 64-bit 1319*132f818dSEnji Cooper # processor. This is not true of the ARM version of Darwin 1320*132f818dSEnji Cooper # that Apple uses in portable devices. 1321*132f818dSEnji Cooper UNAME_PROCESSOR=x86_64 1322*132f818dSEnji Cooper fi 1323*132f818dSEnji Cooper echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" 1324*132f818dSEnji Cooper exit ;; 1325*132f818dSEnji Cooper *:procnto*:*:* | *:QNX:[0123456789]*:*) 1326*132f818dSEnji Cooper UNAME_PROCESSOR=`uname -p` 1327*132f818dSEnji Cooper if test "$UNAME_PROCESSOR" = x86; then 1328*132f818dSEnji Cooper UNAME_PROCESSOR=i386 1329*132f818dSEnji Cooper UNAME_MACHINE=pc 1330*132f818dSEnji Cooper fi 1331*132f818dSEnji Cooper echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" 1332*132f818dSEnji Cooper exit ;; 1333*132f818dSEnji Cooper *:QNX:*:4*) 1334*132f818dSEnji Cooper echo i386-pc-qnx 1335*132f818dSEnji Cooper exit ;; 1336*132f818dSEnji Cooper NEO-*:NONSTOP_KERNEL:*:*) 1337*132f818dSEnji Cooper echo neo-tandem-nsk"$UNAME_RELEASE" 1338*132f818dSEnji Cooper exit ;; 1339*132f818dSEnji Cooper NSE-*:NONSTOP_KERNEL:*:*) 1340*132f818dSEnji Cooper echo nse-tandem-nsk"$UNAME_RELEASE" 1341*132f818dSEnji Cooper exit ;; 1342*132f818dSEnji Cooper NSR-*:NONSTOP_KERNEL:*:*) 1343*132f818dSEnji Cooper echo nsr-tandem-nsk"$UNAME_RELEASE" 1344*132f818dSEnji Cooper exit ;; 1345*132f818dSEnji Cooper NSV-*:NONSTOP_KERNEL:*:*) 1346*132f818dSEnji Cooper echo nsv-tandem-nsk"$UNAME_RELEASE" 1347*132f818dSEnji Cooper exit ;; 1348*132f818dSEnji Cooper NSX-*:NONSTOP_KERNEL:*:*) 1349*132f818dSEnji Cooper echo nsx-tandem-nsk"$UNAME_RELEASE" 1350*132f818dSEnji Cooper exit ;; 1351*132f818dSEnji Cooper *:NonStop-UX:*:*) 1352*132f818dSEnji Cooper echo mips-compaq-nonstopux 1353*132f818dSEnji Cooper exit ;; 1354*132f818dSEnji Cooper BS2000:POSIX*:*:*) 1355*132f818dSEnji Cooper echo bs2000-siemens-sysv 1356*132f818dSEnji Cooper exit ;; 1357*132f818dSEnji Cooper DS/*:UNIX_System_V:*:*) 1358*132f818dSEnji Cooper echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" 1359*132f818dSEnji Cooper exit ;; 1360*132f818dSEnji Cooper *:Plan9:*:*) 1361*132f818dSEnji Cooper # "uname -m" is not consistent, so use $cputype instead. 386 1362*132f818dSEnji Cooper # is converted to i386 for consistency with other x86 1363*132f818dSEnji Cooper # operating systems. 1364*132f818dSEnji Cooper # shellcheck disable=SC2154 1365*132f818dSEnji Cooper if test "$cputype" = 386; then 1366*132f818dSEnji Cooper UNAME_MACHINE=i386 1367*132f818dSEnji Cooper else 1368*132f818dSEnji Cooper UNAME_MACHINE="$cputype" 1369*132f818dSEnji Cooper fi 1370*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-plan9 1371*132f818dSEnji Cooper exit ;; 1372*132f818dSEnji Cooper *:TOPS-10:*:*) 1373*132f818dSEnji Cooper echo pdp10-unknown-tops10 1374*132f818dSEnji Cooper exit ;; 1375*132f818dSEnji Cooper *:TENEX:*:*) 1376*132f818dSEnji Cooper echo pdp10-unknown-tenex 1377*132f818dSEnji Cooper exit ;; 1378*132f818dSEnji Cooper KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1379*132f818dSEnji Cooper echo pdp10-dec-tops20 1380*132f818dSEnji Cooper exit ;; 1381*132f818dSEnji Cooper XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1382*132f818dSEnji Cooper echo pdp10-xkl-tops20 1383*132f818dSEnji Cooper exit ;; 1384*132f818dSEnji Cooper *:TOPS-20:*:*) 1385*132f818dSEnji Cooper echo pdp10-unknown-tops20 1386*132f818dSEnji Cooper exit ;; 1387*132f818dSEnji Cooper *:ITS:*:*) 1388*132f818dSEnji Cooper echo pdp10-unknown-its 1389*132f818dSEnji Cooper exit ;; 1390*132f818dSEnji Cooper SEI:*:*:SEIUX) 1391*132f818dSEnji Cooper echo mips-sei-seiux"$UNAME_RELEASE" 1392*132f818dSEnji Cooper exit ;; 1393*132f818dSEnji Cooper *:DragonFly:*:*) 1394*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 1395*132f818dSEnji Cooper exit ;; 1396*132f818dSEnji Cooper *:*VMS:*:*) 1397*132f818dSEnji Cooper UNAME_MACHINE=`(uname -p) 2>/dev/null` 1398*132f818dSEnji Cooper case "$UNAME_MACHINE" in 1399*132f818dSEnji Cooper A*) echo alpha-dec-vms ; exit ;; 1400*132f818dSEnji Cooper I*) echo ia64-dec-vms ; exit ;; 1401*132f818dSEnji Cooper V*) echo vax-dec-vms ; exit ;; 1402*132f818dSEnji Cooper esac ;; 1403*132f818dSEnji Cooper *:XENIX:*:SysV) 1404*132f818dSEnji Cooper echo i386-pc-xenix 1405*132f818dSEnji Cooper exit ;; 1406*132f818dSEnji Cooper i*86:skyos:*:*) 1407*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" 1408*132f818dSEnji Cooper exit ;; 1409*132f818dSEnji Cooper i*86:rdos:*:*) 1410*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-rdos 1411*132f818dSEnji Cooper exit ;; 1412*132f818dSEnji Cooper i*86:AROS:*:*) 1413*132f818dSEnji Cooper echo "$UNAME_MACHINE"-pc-aros 1414*132f818dSEnji Cooper exit ;; 1415*132f818dSEnji Cooper x86_64:VMkernel:*:*) 1416*132f818dSEnji Cooper echo "$UNAME_MACHINE"-unknown-esx 1417*132f818dSEnji Cooper exit ;; 1418*132f818dSEnji Cooper amd64:Isilon\ OneFS:*:*) 1419*132f818dSEnji Cooper echo x86_64-unknown-onefs 1420*132f818dSEnji Cooper exit ;; 1421*132f818dSEnji Cooperesac 1422*132f818dSEnji Cooper 1423*132f818dSEnji Cooperecho "$0: unable to guess system type" >&2 1424*132f818dSEnji Cooper 1425*132f818dSEnji Coopercase "$UNAME_MACHINE:$UNAME_SYSTEM" in 1426*132f818dSEnji Cooper mips:Linux | mips64:Linux) 1427*132f818dSEnji Cooper # If we got here on MIPS GNU/Linux, output extra information. 1428*132f818dSEnji Cooper cat >&2 <<EOF 1429*132f818dSEnji Cooper 1430*132f818dSEnji CooperNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1431*132f818dSEnji Cooperthe system type. Please install a C compiler and try again. 1432*132f818dSEnji CooperEOF 1433*132f818dSEnji Cooper ;; 1434*132f818dSEnji Cooperesac 1435*132f818dSEnji Cooper 1436*132f818dSEnji Coopercat >&2 <<EOF 1437*132f818dSEnji Cooper 1438*132f818dSEnji CooperThis script (version $timestamp), has failed to recognize the 1439*132f818dSEnji Cooperoperating system you are using. If your script is old, overwrite *all* 1440*132f818dSEnji Coopercopies of config.guess and config.sub with the latest versions from: 1441*132f818dSEnji Cooper 1442*132f818dSEnji Cooper https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 1443*132f818dSEnji Cooperand 1444*132f818dSEnji Cooper https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 1445*132f818dSEnji Cooper 1446*132f818dSEnji CooperIf $0 has already been updated, send the following data and any 1447*132f818dSEnji Cooperinformation you think might be pertinent to config-patches@gnu.org to 1448*132f818dSEnji Cooperprovide the necessary information to handle your system. 1449*132f818dSEnji Cooper 1450*132f818dSEnji Cooperconfig.guess timestamp = $timestamp 1451*132f818dSEnji Cooper 1452*132f818dSEnji Cooperuname -m = `(uname -m) 2>/dev/null || echo unknown` 1453*132f818dSEnji Cooperuname -r = `(uname -r) 2>/dev/null || echo unknown` 1454*132f818dSEnji Cooperuname -s = `(uname -s) 2>/dev/null || echo unknown` 1455*132f818dSEnji Cooperuname -v = `(uname -v) 2>/dev/null || echo unknown` 1456*132f818dSEnji Cooper 1457*132f818dSEnji Cooper/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1458*132f818dSEnji Cooper/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1459*132f818dSEnji Cooper 1460*132f818dSEnji Cooperhostinfo = `(hostinfo) 2>/dev/null` 1461*132f818dSEnji Cooper/bin/universe = `(/bin/universe) 2>/dev/null` 1462*132f818dSEnji Cooper/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1463*132f818dSEnji Cooper/bin/arch = `(/bin/arch) 2>/dev/null` 1464*132f818dSEnji Cooper/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1465*132f818dSEnji Cooper/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1466*132f818dSEnji Cooper 1467*132f818dSEnji CooperUNAME_MACHINE = "$UNAME_MACHINE" 1468*132f818dSEnji CooperUNAME_RELEASE = "$UNAME_RELEASE" 1469*132f818dSEnji CooperUNAME_SYSTEM = "$UNAME_SYSTEM" 1470*132f818dSEnji CooperUNAME_VERSION = "$UNAME_VERSION" 1471*132f818dSEnji CooperEOF 1472*132f818dSEnji Cooper 1473*132f818dSEnji Cooperexit 1 1474*132f818dSEnji Cooper 1475*132f818dSEnji Cooper# Local variables: 1476*132f818dSEnji Cooper# eval: (add-hook 'before-save-hook 'time-stamp) 1477*132f818dSEnji Cooper# time-stamp-start: "timestamp='" 1478*132f818dSEnji Cooper# time-stamp-format: "%:y-%02m-%02d" 1479*132f818dSEnji Cooper# time-stamp-end: "'" 1480*132f818dSEnji Cooper# End: 1481