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 Free Software Foundation, 5 # Inc. 6 7 timestamp='2007-07-22' 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 (at] bothner.com>. 31 # Please send patches to <config-patches (at] 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 41 me=`echo "$0" | sed -e 's,.*/,,'` 42 43 usage="\ 44 Usage: $0 [OPTION] 45 46 Output the configuration name of the system \`$me' is run on. 47 48 Operation 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 53 Report bugs and patches to <config-patches (at] gnu.org>." 54 55 version="\ 56 GNU config.guess ($timestamp) 57 58 Originally written by Per Bothner. 59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 60 Free Software Foundation, Inc. 61 62 This is free software; see the source for copying conditions. There is NO 63 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 64 65 help=" 66 Try \`$me --help' for more information." 67 68 # Parse command line 69 while 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 87 done 88 89 if test $# != 0; then 90 echo "$me: too many arguments$help" >&2 91 exit 1 92 fi 93 94 trap '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 106 set_cc_for_build=' 107 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108 trap "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 ; } ; 114 dummy=$tmp/dummy ; 115 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116 case $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 ;; 129 esac ; set_cc_for_build= ;' 130 131 # This is needed to find uname on a Pyramid OSx when run in the BSD universe. 132 # (ghazi (at] noc.rutgers.edu 1994-08-24) 133 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then 134 PATH=$PATH:/.attbin ; export PATH 135 fi 136 137 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 138 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 140 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 141 142 if [ "${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 155 EOF 156 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` 157 fi 158 159 # Note: order is significant - the case branches are not exclusive. 160 161 case "${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 (at] 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 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 352 exit ;; 353 sun4*:SunOS:6*:*) 354 # According to config.sub, this is the proper way to canonicalize 355 # SunOS6. Hard to guess exactly what SunOS6 will be like, but 356 # it's likely to be more like Solaris than SunOS4. 357 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 358 exit ;; 359 sun4*:SunOS:*:*) 360 case "`/usr/bin/arch -k`" in 361 Series*|S4*) 362 UNAME_RELEASE=`uname -v` 363 ;; 364 esac 365 # Japanese Language versions have a version number like `4.1.3-JL'. 366 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 367 exit ;; 368 sun3*:SunOS:*:*) 369 echo m68k-sun-sunos${UNAME_RELEASE} 370 exit ;; 371 sun*:*:4.2BSD:*) 372 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 373 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 374 case "`/bin/arch`" in 375 sun3) 376 echo m68k-sun-sunos${UNAME_RELEASE} 377 ;; 378 sun4) 379 echo sparc-sun-sunos${UNAME_RELEASE} 380 ;; 381 esac 382 exit ;; 383 aushp:SunOS:*:*) 384 echo sparc-auspex-sunos${UNAME_RELEASE} 385 exit ;; 386 # The situation for MiNT is a little confusing. The machine name 387 # can be virtually everything (everything which is not 388 # "atarist" or "atariste" at least should have a processor 389 # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 390 # to the lowercase version "mint" (or "freemint"). Finally 391 # the system name "TOS" denotes a system which is actually not 392 # MiNT. But MiNT is downward compatible to TOS, so this should 393 # be no problem. 394 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 395 echo m68k-atari-mint${UNAME_RELEASE} 396 exit ;; 397 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 398 echo m68k-atari-mint${UNAME_RELEASE} 399 exit ;; 400 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 401 echo m68k-atari-mint${UNAME_RELEASE} 402 exit ;; 403 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 404 echo m68k-milan-mint${UNAME_RELEASE} 405 exit ;; 406 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 407 echo m68k-hades-mint${UNAME_RELEASE} 408 exit ;; 409 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 410 echo m68k-unknown-mint${UNAME_RELEASE} 411 exit ;; 412 m68k:machten:*:*) 413 echo m68k-apple-machten${UNAME_RELEASE} 414 exit ;; 415 powerpc:machten:*:*) 416 echo powerpc-apple-machten${UNAME_RELEASE} 417 exit ;; 418 RISC*:Mach:*:*) 419 echo mips-dec-mach_bsd4.3 420 exit ;; 421 RISC*:ULTRIX:*:*) 422 echo mips-dec-ultrix${UNAME_RELEASE} 423 exit ;; 424 VAX*:ULTRIX*:*:*) 425 echo vax-dec-ultrix${UNAME_RELEASE} 426 exit ;; 427 2020:CLIX:*:* | 2430:CLIX:*:*) 428 echo clipper-intergraph-clix${UNAME_RELEASE} 429 exit ;; 430 mips:*:*:UMIPS | mips:*:*:RISCos) 431 eval $set_cc_for_build 432 sed 's/^ //' << EOF >$dummy.c 433 #ifdef __cplusplus 434 #include <stdio.h> /* for printf() prototype */ 435 int main (int argc, char *argv[]) { 436 #else 437 int main (argc, argv) int argc; char *argv[]; { 438 #endif 439 #if defined (host_mips) && defined (MIPSEB) 440 #if defined (SYSTYPE_SYSV) 441 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 442 #endif 443 #if defined (SYSTYPE_SVR4) 444 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 445 #endif 446 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 447 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 448 #endif 449 #endif 450 exit (-1); 451 } 452 EOF 453 $CC_FOR_BUILD -o $dummy $dummy.c && 454 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 455 SYSTEM_NAME=`$dummy $dummyarg` && 456 { echo "$SYSTEM_NAME"; exit; } 457 echo mips-mips-riscos${UNAME_RELEASE} 458 exit ;; 459 Motorola:PowerMAX_OS:*:*) 460 echo powerpc-motorola-powermax 461 exit ;; 462 Motorola:*:4.3:PL8-*) 463 echo powerpc-harris-powermax 464 exit ;; 465 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 466 echo powerpc-harris-powermax 467 exit ;; 468 Night_Hawk:Power_UNIX:*:*) 469 echo powerpc-harris-powerunix 470 exit ;; 471 m88k:CX/UX:7*:*) 472 echo m88k-harris-cxux7 473 exit ;; 474 m88k:*:4*:R4*) 475 echo m88k-motorola-sysv4 476 exit ;; 477 m88k:*:3*:R3*) 478 echo m88k-motorola-sysv3 479 exit ;; 480 AViiON:dgux:*:*) 481 # DG/UX returns AViiON for all architectures 482 UNAME_PROCESSOR=`/usr/bin/uname -p` 483 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 484 then 485 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 486 [ ${TARGET_BINARY_INTERFACE}x = x ] 487 then 488 echo m88k-dg-dgux${UNAME_RELEASE} 489 else 490 echo m88k-dg-dguxbcs${UNAME_RELEASE} 491 fi 492 else 493 echo i586-dg-dgux${UNAME_RELEASE} 494 fi 495 exit ;; 496 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 497 echo m88k-dolphin-sysv3 498 exit ;; 499 M88*:*:R3*:*) 500 # Delta 88k system running SVR3 501 echo m88k-motorola-sysv3 502 exit ;; 503 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 504 echo m88k-tektronix-sysv3 505 exit ;; 506 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 507 echo m68k-tektronix-bsd 508 exit ;; 509 *:IRIX*:*:*) 510 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 511 exit ;; 512 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 513 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 514 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 515 i*86:AIX:*:*) 516 echo i386-ibm-aix 517 exit ;; 518 ia64:AIX:*:*) 519 if [ -x /usr/bin/oslevel ] ; then 520 IBM_REV=`/usr/bin/oslevel` 521 else 522 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 523 fi 524 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 525 exit ;; 526 *:AIX:2:3) 527 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 528 eval $set_cc_for_build 529 sed 's/^ //' << EOF >$dummy.c 530 #include <sys/systemcfg.h> 531 532 main() 533 { 534 if (!__power_pc()) 535 exit(1); 536 puts("powerpc-ibm-aix3.2.5"); 537 exit(0); 538 } 539 EOF 540 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 541 then 542 echo "$SYSTEM_NAME" 543 else 544 echo rs6000-ibm-aix3.2.5 545 fi 546 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 547 echo rs6000-ibm-aix3.2.4 548 else 549 echo rs6000-ibm-aix3.2 550 fi 551 exit ;; 552 *:AIX:*:[45]) 553 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 554 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 555 IBM_ARCH=rs6000 556 else 557 IBM_ARCH=powerpc 558 fi 559 if [ -x /usr/bin/oslevel ] ; then 560 IBM_REV=`/usr/bin/oslevel` 561 else 562 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 563 fi 564 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 565 exit ;; 566 *:AIX:*:*) 567 echo rs6000-ibm-aix 568 exit ;; 569 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 570 echo romp-ibm-bsd4.4 571 exit ;; 572 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 573 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 574 exit ;; # report: romp-ibm BSD 4.3 575 *:BOSX:*:*) 576 echo rs6000-bull-bosx 577 exit ;; 578 DPX/2?00:B.O.S.:*:*) 579 echo m68k-bull-sysv3 580 exit ;; 581 9000/[34]??:4.3bsd:1.*:*) 582 echo m68k-hp-bsd 583 exit ;; 584 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 585 echo m68k-hp-bsd4.4 586 exit ;; 587 9000/[34678]??:HP-UX:*:*) 588 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 589 case "${UNAME_MACHINE}" in 590 9000/31? ) HP_ARCH=m68000 ;; 591 9000/[34]?? ) HP_ARCH=m68k ;; 592 9000/[678][0-9][0-9]) 593 if [ -x /usr/bin/getconf ]; then 594 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 595 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 596 case "${sc_cpu_version}" in 597 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 598 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 599 532) # CPU_PA_RISC2_0 600 case "${sc_kernel_bits}" in 601 32) HP_ARCH="hppa2.0n" ;; 602 64) HP_ARCH="hppa2.0w" ;; 603 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 604 esac ;; 605 esac 606 fi 607 if [ "${HP_ARCH}" = "" ]; then 608 eval $set_cc_for_build 609 sed 's/^ //' << EOF >$dummy.c 610 611 #define _HPUX_SOURCE 612 #include <stdlib.h> 613 #include <unistd.h> 614 615 int main () 616 { 617 #if defined(_SC_KERNEL_BITS) 618 long bits = sysconf(_SC_KERNEL_BITS); 619 #endif 620 long cpu = sysconf (_SC_CPU_VERSION); 621 622 switch (cpu) 623 { 624 case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 625 case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 626 case CPU_PA_RISC2_0: 627 #if defined(_SC_KERNEL_BITS) 628 switch (bits) 629 { 630 case 64: puts ("hppa2.0w"); break; 631 case 32: puts ("hppa2.0n"); break; 632 default: puts ("hppa2.0"); break; 633 } break; 634 #else /* !defined(_SC_KERNEL_BITS) */ 635 puts ("hppa2.0"); break; 636 #endif 637 default: puts ("hppa1.0"); break; 638 } 639 exit (0); 640 } 641 EOF 642 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 643 test -z "$HP_ARCH" && HP_ARCH=hppa 644 fi ;; 645 esac 646 if [ ${HP_ARCH} = "hppa2.0w" ] 647 then 648 eval $set_cc_for_build 649 650 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 651 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 652 # generating 64-bit code. GNU and HP use different nomenclature: 653 # 654 # $ CC_FOR_BUILD=cc ./config.guess 655 # => hppa2.0w-hp-hpux11.23 656 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 657 # => hppa64-hp-hpux11.23 658 659 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 660 grep __LP64__ >/dev/null 661 then 662 HP_ARCH="hppa2.0w" 663 else 664 HP_ARCH="hppa64" 665 fi 666 fi 667 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 668 exit ;; 669 ia64:HP-UX:*:*) 670 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 671 echo ia64-hp-hpux${HPUX_REV} 672 exit ;; 673 3050*:HI-UX:*:*) 674 eval $set_cc_for_build 675 sed 's/^ //' << EOF >$dummy.c 676 #include <unistd.h> 677 int 678 main () 679 { 680 long cpu = sysconf (_SC_CPU_VERSION); 681 /* The order matters, because CPU_IS_HP_MC68K erroneously returns 682 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 683 results, however. */ 684 if (CPU_IS_PA_RISC (cpu)) 685 { 686 switch (cpu) 687 { 688 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 689 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 690 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 691 default: puts ("hppa-hitachi-hiuxwe2"); break; 692 } 693 } 694 else if (CPU_IS_HP_MC68K (cpu)) 695 puts ("m68k-hitachi-hiuxwe2"); 696 else puts ("unknown-hitachi-hiuxwe2"); 697 exit (0); 698 } 699 EOF 700 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 701 { echo "$SYSTEM_NAME"; exit; } 702 echo unknown-hitachi-hiuxwe2 703 exit ;; 704 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 705 echo hppa1.1-hp-bsd 706 exit ;; 707 9000/8??:4.3bsd:*:*) 708 echo hppa1.0-hp-bsd 709 exit ;; 710 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 711 echo hppa1.0-hp-mpeix 712 exit ;; 713 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 714 echo hppa1.1-hp-osf 715 exit ;; 716 hp8??:OSF1:*:*) 717 echo hppa1.0-hp-osf 718 exit ;; 719 i*86:OSF1:*:*) 720 if [ -x /usr/sbin/sysversion ] ; then 721 echo ${UNAME_MACHINE}-unknown-osf1mk 722 else 723 echo ${UNAME_MACHINE}-unknown-osf1 724 fi 725 exit ;; 726 parisc*:Lites*:*:*) 727 echo hppa1.1-hp-lites 728 exit ;; 729 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 730 echo c1-convex-bsd 731 exit ;; 732 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 733 if getsysinfo -f scalar_acc 734 then echo c32-convex-bsd 735 else echo c2-convex-bsd 736 fi 737 exit ;; 738 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 739 echo c34-convex-bsd 740 exit ;; 741 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 742 echo c38-convex-bsd 743 exit ;; 744 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 745 echo c4-convex-bsd 746 exit ;; 747 CRAY*Y-MP:*:*:*) 748 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 749 exit ;; 750 CRAY*[A-Z]90:*:*:*) 751 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 752 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 753 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 754 -e 's/\.[^.]*$/.X/' 755 exit ;; 756 CRAY*TS:*:*:*) 757 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 758 exit ;; 759 CRAY*T3E:*:*:*) 760 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 761 exit ;; 762 CRAY*SV1:*:*:*) 763 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 764 exit ;; 765 *:UNICOS/mp:*:*) 766 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 767 exit ;; 768 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 769 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 770 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 771 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 772 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 773 exit ;; 774 5000:UNIX_System_V:4.*:*) 775 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 776 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 777 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 778 exit ;; 779 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 780 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 781 exit ;; 782 sparc*:BSD/OS:*:*) 783 echo sparc-unknown-bsdi${UNAME_RELEASE} 784 exit ;; 785 *:BSD/OS:*:*) 786 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 787 exit ;; 788 *:FreeBSD:*:*) 789 case ${UNAME_MACHINE} in 790 pc98) 791 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 792 amd64) 793 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 794 *) 795 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 796 esac 797 exit ;; 798 i*:CYGWIN*:*) 799 echo ${UNAME_MACHINE}-pc-cygwin 800 exit ;; 801 *:MINGW*:*) 802 echo ${UNAME_MACHINE}-pc-mingw32 803 exit ;; 804 i*:windows32*:*) 805 # uname -m includes "-pc" on this system. 806 echo ${UNAME_MACHINE}-mingw32 807 exit ;; 808 i*:PW*:*) 809 echo ${UNAME_MACHINE}-pc-pw32 810 exit ;; 811 *:Interix*:[3456]*) 812 case ${UNAME_MACHINE} in 813 x86) 814 echo i586-pc-interix${UNAME_RELEASE} 815 exit ;; 816 EM64T | authenticamd) 817 echo x86_64-unknown-interix${UNAME_RELEASE} 818 exit ;; 819 esac ;; 820 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 821 echo i${UNAME_MACHINE}-pc-mks 822 exit ;; 823 i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 824 # How do we know it's Interix rather than the generic POSIX subsystem? 825 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 826 # UNAME_MACHINE based on the output of uname instead of i386? 827 echo i586-pc-interix 828 exit ;; 829 i*:UWIN*:*) 830 echo ${UNAME_MACHINE}-pc-uwin 831 exit ;; 832 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 833 echo x86_64-unknown-cygwin 834 exit ;; 835 p*:CYGWIN*:*) 836 echo powerpcle-unknown-cygwin 837 exit ;; 838 prep*:SunOS:5.*:*) 839 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 840 exit ;; 841 *:GNU:*:*) 842 # the GNU system 843 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 844 exit ;; 845 *:GNU/*:*:*) 846 # other systems with GNU libc and userland 847 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 848 exit ;; 849 i*86:Minix:*:*) 850 echo ${UNAME_MACHINE}-pc-minix 851 exit ;; 852 arm*:Linux:*:*) 853 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 854 exit ;; 855 avr32*:Linux:*:*) 856 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 857 exit ;; 858 cris:Linux:*:*) 859 echo cris-axis-linux-${LIBC} 860 exit ;; 861 crisv32:Linux:*:*) 862 echo crisv32-axis-linux-${LIBC} 863 exit ;; 864 frv:Linux:*:*) 865 echo frv-unknown-linux-${LIBC} 866 exit ;; 867 ia64:Linux:*:*) 868 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 869 exit ;; 870 m32r*:Linux:*:*) 871 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 872 exit ;; 873 m68*:Linux:*:*) 874 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 875 exit ;; 876 mips:Linux:*:*) 877 eval $set_cc_for_build 878 sed 's/^ //' << EOF >$dummy.c 879 #undef CPU 880 #undef mips 881 #undef mipsel 882 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 883 CPU=mipsel 884 #else 885 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 886 CPU=mips 887 #else 888 CPU= 889 #endif 890 #endif 891 EOF 892 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 893 /^CPU/{ 894 s: ::g 895 p 896 }'`" 897 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } 898 ;; 899 mips64:Linux:*:*) 900 eval $set_cc_for_build 901 sed 's/^ //' << EOF >$dummy.c 902 #undef CPU 903 #undef mips64 904 #undef mips64el 905 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 906 CPU=mips64el 907 #else 908 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 909 CPU=mips64 910 #else 911 CPU= 912 #endif 913 #endif 914 EOF 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 or32:Linux:*:*) 923 echo or32-unknown-linux-${LIBC} 924 exit ;; 925 ppc:Linux:*:*) 926 echo powerpc-unknown-linux-${LIBC} 927 exit ;; 928 ppc64:Linux:*:*) 929 echo powerpc64-unknown-linux-${LIBC} 930 exit ;; 931 alpha:Linux:*:*) 932 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 933 EV5) UNAME_MACHINE=alphaev5 ;; 934 EV56) UNAME_MACHINE=alphaev56 ;; 935 PCA56) UNAME_MACHINE=alphapca56 ;; 936 PCA57) UNAME_MACHINE=alphapca56 ;; 937 EV6) UNAME_MACHINE=alphaev6 ;; 938 EV67) UNAME_MACHINE=alphaev67 ;; 939 EV68*) UNAME_MACHINE=alphaev68 ;; 940 esac 941 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 942 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi 943 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 944 exit ;; 945 parisc:Linux:*:* | hppa:Linux:*:*) 946 # Look for CPU level 947 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 948 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; 949 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; 950 *) echo hppa-unknown-linux-${LIBC} ;; 951 esac 952 exit ;; 953 parisc64:Linux:*:* | hppa64:Linux:*:*) 954 echo hppa64-unknown-linux-${LIBC} 955 exit ;; 956 s390:Linux:*:* | s390x:Linux:*:*) 957 echo ${UNAME_MACHINE}-ibm-linux 958 exit ;; 959 sh64*:Linux:*:*) 960 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 961 exit ;; 962 sh*:Linux:*:*) 963 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 964 exit ;; 965 sparc:Linux:*:* | sparc64:Linux:*:*) 966 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 967 exit ;; 968 vax:Linux:*:*) 969 echo ${UNAME_MACHINE}-dec-linux-${LIBC} 970 exit ;; 971 x86_64:Linux:*:*) 972 echo x86_64-unknown-linux-${LIBC} 973 exit ;; 974 xtensa:Linux:*:*) 975 echo xtensa-unknown-linux-${LIBC} 976 exit ;; 977 i*86:Linux:*:*) 978 # The BFD linker knows what the default object file format is, so 979 # first see if it will tell us. cd to the root directory to prevent 980 # problems with other programs or directories called `ld' in the path. 981 # Set LC_ALL=C to ensure ld outputs messages in English. 982 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 983 | sed -ne '/supported targets:/!d 984 s/[ ][ ]*/ /g 985 s/.*supported targets: *// 986 s/ .*// 987 p'` 988 case "$ld_supported_targets" in 989 elf32-i386) 990 TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" 991 ;; 992 a.out-i386-linux) 993 echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" 994 exit ;; 995 coff-i386) 996 echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff" 997 exit ;; 998 "") 999 # Either a pre-BFD a.out linker (linux-gnuoldld) or 1000 # one that does not give us useful --help. 1001 echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" 1002 exit ;; 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 1030 EOF 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.0*:*) 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 i386. 1115 echo i386-pc-msdosdjgpp 1116 exit ;; 1117 Intel:Mach:3*:*) 1118 echo i386-pc-mach3 1119 exit ;; 1120 paragon:*:*:*) 1121 echo i860-intel-osf1 1122 exit ;; 1123 i860:*:4.*:*) # i860-SVR4 1124 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1125 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1126 else # Add other i860-SVR4 vendors below as they are discovered. 1127 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1128 fi 1129 exit ;; 1130 mini*:CTIX:SYS*5:*) 1131 # "miniframe" 1132 echo m68010-convergent-sysv 1133 exit ;; 1134 mc68k:UNIX:SYSTEM5:3.51m) 1135 echo m68k-convergent-sysv 1136 exit ;; 1137 M680?0:D-NIX:5.3:*) 1138 echo m68k-diab-dnix 1139 exit ;; 1140 M68*:*:R3V[5678]*:*) 1141 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1142 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) 1143 OS_REL='' 1144 test -r /etc/.relid \ 1145 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1146 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1147 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1148 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1149 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1150 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1151 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1152 && { echo i486-ncr-sysv4; exit; } ;; 1153 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1154 echo m68k-unknown-lynxos${UNAME_RELEASE} 1155 exit ;; 1156 mc68030:UNIX_System_V:4.*:*) 1157 echo m68k-atari-sysv4 1158 exit ;; 1159 TSUNAMI:LynxOS:2.*:*) 1160 echo sparc-unknown-lynxos${UNAME_RELEASE} 1161 exit ;; 1162 rs6000:LynxOS:2.*:*) 1163 echo rs6000-unknown-lynxos${UNAME_RELEASE} 1164 exit ;; 1165 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1166 echo powerpc-unknown-lynxos${UNAME_RELEASE} 1167 exit ;; 1168 SM[BE]S:UNIX_SV:*:*) 1169 echo mips-dde-sysv${UNAME_RELEASE} 1170 exit ;; 1171 RM*:ReliantUNIX-*:*:*) 1172 echo mips-sni-sysv4 1173 exit ;; 1174 RM*:SINIX-*:*:*) 1175 echo mips-sni-sysv4 1176 exit ;; 1177 *:SINIX-*:*:*) 1178 if uname -p 2>/dev/null >/dev/null ; then 1179 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1180 echo ${UNAME_MACHINE}-sni-sysv4 1181 else 1182 echo ns32k-sni-sysv 1183 fi 1184 exit ;; 1185 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1186 # says <Richard.M.Bartel (at] ccMail.Census.GOV> 1187 echo i586-unisys-sysv4 1188 exit ;; 1189 *:UNIX_System_V:4*:FTX*) 1190 # From Gerald Hewes <hewes (at] openmarket.com>. 1191 # How about differentiating between stratus architectures? -djm 1192 echo hppa1.1-stratus-sysv4 1193 exit ;; 1194 *:*:*:FTX*) 1195 # From seanf (at] swdc.stratus.com. 1196 echo i860-stratus-sysv4 1197 exit ;; 1198 i*86:VOS:*:*) 1199 # From Paul.Green (at] stratus.com. 1200 echo ${UNAME_MACHINE}-stratus-vos 1201 exit ;; 1202 *:VOS:*:*) 1203 # From Paul.Green (at] stratus.com. 1204 echo hppa1.1-stratus-vos 1205 exit ;; 1206 mc68*:A/UX:*:*) 1207 echo m68k-apple-aux${UNAME_RELEASE} 1208 exit ;; 1209 news*:NEWS-OS:6*:*) 1210 echo mips-sony-newsos6 1211 exit ;; 1212 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1213 if [ -d /usr/nec ]; then 1214 echo mips-nec-sysv${UNAME_RELEASE} 1215 else 1216 echo mips-unknown-sysv${UNAME_RELEASE} 1217 fi 1218 exit ;; 1219 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1220 echo powerpc-be-beos 1221 exit ;; 1222 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1223 echo powerpc-apple-beos 1224 exit ;; 1225 BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1226 echo i586-pc-beos 1227 exit ;; 1228 SX-4:SUPER-UX:*:*) 1229 echo sx4-nec-superux${UNAME_RELEASE} 1230 exit ;; 1231 SX-5:SUPER-UX:*:*) 1232 echo sx5-nec-superux${UNAME_RELEASE} 1233 exit ;; 1234 SX-6:SUPER-UX:*:*) 1235 echo sx6-nec-superux${UNAME_RELEASE} 1236 exit ;; 1237 SX-7:SUPER-UX:*:*) 1238 echo sx7-nec-superux${UNAME_RELEASE} 1239 exit ;; 1240 SX-8:SUPER-UX:*:*) 1241 echo sx8-nec-superux${UNAME_RELEASE} 1242 exit ;; 1243 SX-8R:SUPER-UX:*:*) 1244 echo sx8r-nec-superux${UNAME_RELEASE} 1245 exit ;; 1246 Power*:Rhapsody:*:*) 1247 echo powerpc-apple-rhapsody${UNAME_RELEASE} 1248 exit ;; 1249 *:Rhapsody:*:*) 1250 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1251 exit ;; 1252 *:Darwin:*:*) 1253 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1254 case $UNAME_PROCESSOR in 1255 unknown) UNAME_PROCESSOR=powerpc ;; 1256 esac 1257 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1258 exit ;; 1259 *:procnto*:*:* | *:QNX:[0123456789]*:*) 1260 UNAME_PROCESSOR=`uname -p` 1261 if test "$UNAME_PROCESSOR" = "x86"; then 1262 UNAME_PROCESSOR=i386 1263 UNAME_MACHINE=pc 1264 fi 1265 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1266 exit ;; 1267 *:QNX:*:4*) 1268 echo i386-pc-qnx 1269 exit ;; 1270 NSE-?:NONSTOP_KERNEL:*:*) 1271 echo nse-tandem-nsk${UNAME_RELEASE} 1272 exit ;; 1273 NSR-?:NONSTOP_KERNEL:*:*) 1274 echo nsr-tandem-nsk${UNAME_RELEASE} 1275 exit ;; 1276 *:NonStop-UX:*:*) 1277 echo mips-compaq-nonstopux 1278 exit ;; 1279 BS2000:POSIX*:*:*) 1280 echo bs2000-siemens-sysv 1281 exit ;; 1282 DS/*:UNIX_System_V:*:*) 1283 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1284 exit ;; 1285 *:Plan9:*:*) 1286 # "uname -m" is not consistent, so use $cputype instead. 386 1287 # is converted to i386 for consistency with other x86 1288 # operating systems. 1289 if test "$cputype" = "386"; then 1290 UNAME_MACHINE=i386 1291 else 1292 UNAME_MACHINE="$cputype" 1293 fi 1294 echo ${UNAME_MACHINE}-unknown-plan9 1295 exit ;; 1296 *:TOPS-10:*:*) 1297 echo pdp10-unknown-tops10 1298 exit ;; 1299 *:TENEX:*:*) 1300 echo pdp10-unknown-tenex 1301 exit ;; 1302 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1303 echo pdp10-dec-tops20 1304 exit ;; 1305 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1306 echo pdp10-xkl-tops20 1307 exit ;; 1308 *:TOPS-20:*:*) 1309 echo pdp10-unknown-tops20 1310 exit ;; 1311 *:ITS:*:*) 1312 echo pdp10-unknown-its 1313 exit ;; 1314 SEI:*:*:SEIUX) 1315 echo mips-sei-seiux${UNAME_RELEASE} 1316 exit ;; 1317 *:DragonFly:*:*) 1318 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1319 exit ;; 1320 *:*VMS:*:*) 1321 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1322 case "${UNAME_MACHINE}" in 1323 A*) echo alpha-dec-vms ; exit ;; 1324 I*) echo ia64-dec-vms ; exit ;; 1325 V*) echo vax-dec-vms ; exit ;; 1326 esac ;; 1327 *:XENIX:*:SysV) 1328 echo i386-pc-xenix 1329 exit ;; 1330 i*86:skyos:*:*) 1331 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1332 exit ;; 1333 i*86:rdos:*:*) 1334 echo ${UNAME_MACHINE}-pc-rdos 1335 exit ;; 1336 esac 1337 1338 #echo '(No uname command or uname output not recognized.)' 1>&2 1339 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1340 1341 eval $set_cc_for_build 1342 cat >$dummy.c <<EOF 1343 #ifdef _SEQUENT_ 1344 # include <sys/types.h> 1345 # include <sys/utsname.h> 1346 #endif 1347 main () 1348 { 1349 #if defined (sony) 1350 #if defined (MIPSEB) 1351 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1352 I don't know.... */ 1353 printf ("mips-sony-bsd\n"); exit (0); 1354 #else 1355 #include <sys/param.h> 1356 printf ("m68k-sony-newsos%s\n", 1357 #ifdef NEWSOS4 1358 "4" 1359 #else 1360 "" 1361 #endif 1362 ); exit (0); 1363 #endif 1364 #endif 1365 1366 #if defined (__arm) && defined (__acorn) && defined (__unix) 1367 printf ("arm-acorn-riscix\n"); exit (0); 1368 #endif 1369 1370 #if defined (hp300) && !defined (hpux) 1371 printf ("m68k-hp-bsd\n"); exit (0); 1372 #endif 1373 1374 #if defined (NeXT) 1375 #if !defined (__ARCHITECTURE__) 1376 #define __ARCHITECTURE__ "m68k" 1377 #endif 1378 int version; 1379 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1380 if (version < 4) 1381 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1382 else 1383 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1384 exit (0); 1385 #endif 1386 1387 #if defined (MULTIMAX) || defined (n16) 1388 #if defined (UMAXV) 1389 printf ("ns32k-encore-sysv\n"); exit (0); 1390 #else 1391 #if defined (CMU) 1392 printf ("ns32k-encore-mach\n"); exit (0); 1393 #else 1394 printf ("ns32k-encore-bsd\n"); exit (0); 1395 #endif 1396 #endif 1397 #endif 1398 1399 #if defined (__386BSD__) 1400 printf ("i386-pc-bsd\n"); exit (0); 1401 #endif 1402 1403 #if defined (sequent) 1404 #if defined (i386) 1405 printf ("i386-sequent-dynix\n"); exit (0); 1406 #endif 1407 #if defined (ns32000) 1408 printf ("ns32k-sequent-dynix\n"); exit (0); 1409 #endif 1410 #endif 1411 1412 #if defined (_SEQUENT_) 1413 struct utsname un; 1414 1415 uname(&un); 1416 1417 if (strncmp(un.version, "V2", 2) == 0) { 1418 printf ("i386-sequent-ptx2\n"); exit (0); 1419 } 1420 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1421 printf ("i386-sequent-ptx1\n"); exit (0); 1422 } 1423 printf ("i386-sequent-ptx\n"); exit (0); 1424 1425 #endif 1426 1427 #if defined (vax) 1428 # if !defined (ultrix) 1429 # include <sys/param.h> 1430 # if defined (BSD) 1431 # if BSD == 43 1432 printf ("vax-dec-bsd4.3\n"); exit (0); 1433 # else 1434 # if BSD == 199006 1435 printf ("vax-dec-bsd4.3reno\n"); exit (0); 1436 # else 1437 printf ("vax-dec-bsd\n"); exit (0); 1438 # endif 1439 # endif 1440 # else 1441 printf ("vax-dec-bsd\n"); exit (0); 1442 # endif 1443 # else 1444 printf ("vax-dec-ultrix\n"); exit (0); 1445 # endif 1446 #endif 1447 1448 #if defined (alliant) && defined (i860) 1449 printf ("i860-alliant-bsd\n"); exit (0); 1450 #endif 1451 1452 exit (1); 1453 } 1454 EOF 1455 1456 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1457 { echo "$SYSTEM_NAME"; exit; } 1458 1459 # Apollos put the system type in the environment. 1460 1461 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1462 1463 # Convex versions that predate uname can use getsysinfo(1) 1464 1465 if [ -x /usr/convex/getsysinfo ] 1466 then 1467 case `getsysinfo -f cpu_type` in 1468 c1*) 1469 echo c1-convex-bsd 1470 exit ;; 1471 c2*) 1472 if getsysinfo -f scalar_acc 1473 then echo c32-convex-bsd 1474 else echo c2-convex-bsd 1475 fi 1476 exit ;; 1477 c34*) 1478 echo c34-convex-bsd 1479 exit ;; 1480 c38*) 1481 echo c38-convex-bsd 1482 exit ;; 1483 c4*) 1484 echo c4-convex-bsd 1485 exit ;; 1486 esac 1487 fi 1488 1489 cat >&2 <<EOF 1490 $0: unable to guess system type 1491 1492 This script, last modified $timestamp, has failed to recognize 1493 the operating system you are using. It is advised that you 1494 download the most up to date version of the config scripts from 1495 1496 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1497 and 1498 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1499 1500 If the version you run ($0) is already up to date, please 1501 send the following data and any information you think might be 1502 pertinent to <config-patches (at] gnu.org> in order to provide the needed 1503 information to handle your system. 1504 1505 config.guess timestamp = $timestamp 1506 1507 uname -m = `(uname -m) 2>/dev/null || echo unknown` 1508 uname -r = `(uname -r) 2>/dev/null || echo unknown` 1509 uname -s = `(uname -s) 2>/dev/null || echo unknown` 1510 uname -v = `(uname -v) 2>/dev/null || echo unknown` 1511 1512 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1513 /bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1514 1515 hostinfo = `(hostinfo) 2>/dev/null` 1516 /bin/universe = `(/bin/universe) 2>/dev/null` 1517 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1518 /bin/arch = `(/bin/arch) 2>/dev/null` 1519 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1520 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1521 1522 UNAME_MACHINE = ${UNAME_MACHINE} 1523 UNAME_RELEASE = ${UNAME_RELEASE} 1524 UNAME_SYSTEM = ${UNAME_SYSTEM} 1525 UNAME_VERSION = ${UNAME_VERSION} 1526 EOF 1527 1528 exit 1 1529 1530 # Local variables: 1531 # eval: (add-hook 'write-file-hooks 'time-stamp) 1532 # time-stamp-start: "timestamp='" 1533 # time-stamp-format: "%:y-%02m-%02d" 1534 # time-stamp-end: "'" 1535 # End: 1536