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