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