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