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