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