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