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