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