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