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