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