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