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