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