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