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