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