1#! /bin/sh 2# Attempt to guess a canonical system name. 3# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 4# 5# This file is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, but 11# WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13# General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; if not, write to the Free Software 17# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18# 19# As a special exception to the GNU General Public License, if you 20# distribute this file as part of a program that contains a 21# configuration script generated by Autoconf, you may include it under 22# the same distribution terms that you use for the rest of that program. 23 24# Written by Per Bothner <bothner@cygnus.com>. 25# The master version of this file is at the FSF in /home/gd/gnu/lib. 26# 27# This script attempts to guess a canonical system name similar to 28# config.sub. If it succeeds, it prints the system name on stdout, and 29# exits with 0. Otherwise, it exits with 1. 30# 31# The plan is that this can be called by configure scripts if you 32# don't specify an explicit system type (host/target name). 33# 34# Only a few systems have been added to this list; please add others 35# (but try to keep the structure clean). 36# 37 38# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 39# (ghazi@noc.rutgers.edu 8/24/94.) 40if (test -f /.attbin/uname) >/dev/null 2>&1 ; then 41 PATH=$PATH:/.attbin ; export PATH 42fi 43 44UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 45UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 46UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 47UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 48 49trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 50 51# Note: order is significant - the case branches are not exclusive. 52 53case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 54 alpha:OSF1:V*:*) 55 # After 1.2, OSF1 uses "V1.3" for uname -r. 56 echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'` 57 exit 0 ;; 58 alpha:OSF1:*:*) 59 # 1.2 uses "1.2" for uname -r. 60 echo alpha-dec-osf${UNAME_RELEASE} 61 exit 0 ;; 62 21064:Windows_NT:50:3) 63 echo alpha-dec-winnt3.5 64 exit 0 ;; 65 amiga:NetBSD:*:*) 66 echo m68k-cbm-netbsd${UNAME_RELEASE} 67 exit 0 ;; 68 amiga:OpenBSD:*:*) 69 echo m68k-unknown-openbsd${UNAME_RELEASE} 70 exit 0 ;; 71 mvme68k:OpenBSD:*:*) 72 echo m68k-unknown-openbsd${UNAME_RELEASE} 73 exit 0 ;; 74 mvme88k:OpenBSD:*:*) 75 echo m88k-unknown-openbsd${UNAME_RELEASE} 76 exit 0 ;; 77 arm32:OpenBSD:*:*) 78 echo arm-unknown-openbsd${UNAME_RELEASE} 79 exit 0 ;; 80 arc:OpenBSD:*:*) 81 echo mipsle-unknown-openbsd${UNAME_RELEASE} 82 exit 0 ;; 83 pmax:OpenBSD:*:*) 84 echo mipsle-unknown-openbsd${UNAME_RELEASE} 85 exit 0 ;; 86 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 87 echo arm-acorn-riscix${UNAME_RELEASE} 88 exit 0;; 89 Pyramid*:OSx*:*:*) 90 if test "`(/bin/universe) 2>/dev/null`" = att ; then 91 echo pyramid-pyramid-sysv3 92 else 93 echo pyramid-pyramid-bsd 94 fi 95 exit 0 ;; 96 sun4*:SunOS:5.*:*) 97 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 98 exit 0 ;; 99 i86pc:SunOS:5.*:*) 100 echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 101 exit 0 ;; 102 sun4*:SunOS:6*:*) 103 # According to config.sub, this is the proper way to canonicalize 104 # SunOS6. Hard to guess exactly what SunOS6 will be like, but 105 # it's likely to be more like Solaris than SunOS4. 106 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 107 exit 0 ;; 108 sun4*:SunOS:*:*) 109 case "`/usr/bin/arch -k`" in 110 Series*|S4*) 111 UNAME_RELEASE=`uname -v` 112 ;; 113 esac 114 # Japanese Language versions have a version number like `4.1.3-JL'. 115 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 116 exit 0 ;; 117 sun3*:SunOS:*:*) 118 echo m68k-sun-sunos${UNAME_RELEASE} 119 exit 0 ;; 120 atari*:NetBSD:*:*) 121 echo m68k-atari-netbsd${UNAME_RELEASE} 122 exit 0 ;; 123 atari*:OpenBSD:*:*) 124 echo m68k-unknown-openbsd${UNAME_RELEASE} 125 exit 0 ;; 126 sun3*:NetBSD:*:*) 127 echo m68k-sun-netbsd${UNAME_RELEASE} 128 exit 0 ;; 129 sun3*:OpenBSD:*:*) 130 echo m68k-unknown-openbsd${UNAME_RELEASE} 131 exit 0 ;; 132 mac68k:NetBSD:*:*) 133 echo m68k-apple-netbsd${UNAME_RELEASE} 134 exit 0 ;; 135 mac68k:OpenBSD:*:*) 136 echo m68k-unknown-openbsd${UNAME_RELEASE} 137 exit 0 ;; 138 RISC*:ULTRIX:*:*) 139 echo mips-dec-ultrix${UNAME_RELEASE} 140 exit 0 ;; 141 VAX*:ULTRIX*:*:*) 142 echo vax-dec-ultrix${UNAME_RELEASE} 143 exit 0 ;; 144 mips:*:4*:UMIPS) 145 echo mips-mips-riscos4sysv 146 exit 0 ;; 147 mips:*:5*:RISCos) 148 echo mips-mips-riscos${UNAME_RELEASE} 149 exit 0 ;; 150 m88k:CX/UX:7*:*) 151 echo m88k-harris-cxux7 152 exit 0 ;; 153 m88k:*:4*:R4*) 154 echo m88k-motorola-sysv4 155 exit 0 ;; 156 m88k:*:3*:R3*) 157 echo m88k-motorola-sysv3 158 exit 0 ;; 159 AViiON:dgux:*:*) 160 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ 161 -o ${TARGET_BINARY_INTERFACE}x = x ] ; then 162 echo m88k-dg-dgux${UNAME_RELEASE} 163 else 164 echo m88k-dg-dguxbcs${UNAME_RELEASE} 165 fi 166 exit 0 ;; 167 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 168 echo m88k-dolphin-sysv3 169 exit 0 ;; 170 M88*:*:R3*:*) 171 # Delta 88k system running SVR3 172 echo m88k-motorola-sysv3 173 exit 0 ;; 174 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 175 echo m88k-tektronix-sysv3 176 exit 0 ;; 177 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 178 echo m68k-tektronix-bsd 179 exit 0 ;; 180 *:IRIX*:*:*) 181 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 182 exit 0 ;; 183 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 184 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 185 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 186 i[34]86:AIX:*:*) 187 echo i386-ibm-aix 188 exit 0 ;; 189 *:AIX:2:3) 190 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 191 sed 's/^ //' << EOF >dummy.c 192 #include <sys/systemcfg.h> 193 194 main() 195 { 196 if (!__power_pc()) 197 exit(1); 198 puts("powerpc-ibm-aix3.2.5"); 199 exit(0); 200 } 201EOF 202 ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 203 rm -f dummy.c dummy 204 echo rs6000-ibm-aix3.2.5 205 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 206 echo rs6000-ibm-aix3.2.4 207 else 208 echo rs6000-ibm-aix3.2 209 fi 210 exit 0 ;; 211 *:AIX:*:4) 212 if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then 213 IBM_ARCH=rs6000 214 else 215 IBM_ARCH=powerpc 216 fi 217 if [ -x /usr/bin/oslevel ] ; then 218 IBM_REV=`/usr/bin/oslevel` 219 else 220 IBM_REV=4.${UNAME_RELEASE} 221 fi 222 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 223 exit 0 ;; 224 *:AIX:*:*) 225 echo rs6000-ibm-aix 226 exit 0 ;; 227 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 228 echo romp-ibm-bsd4.4 229 exit 0 ;; 230 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and 231 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 232 exit 0 ;; # report: romp-ibm BSD 4.3 233 *:BOSX:*:*) 234 echo rs6000-bull-bosx 235 exit 0 ;; 236 DPX/2?00:B.O.S.:*:*) 237 echo m68k-bull-sysv3 238 exit 0 ;; 239 9000/[34]??:4.3bsd:1.*:*) 240 echo m68k-hp-bsd 241 exit 0 ;; 242 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 243 echo m68k-hp-bsd4.4 244 exit 0 ;; 245 9000/[3478]??:HP-UX:*:*) 246 case "${UNAME_MACHINE}" in 247 9000/31? ) HP_ARCH=m68000 ;; 248 9000/[34]?? ) HP_ARCH=m68k ;; 249 9000/7?? | 9000/8?[79] ) HP_ARCH=hppa1.1 ;; 250 9000/8?? ) HP_ARCH=hppa1.0 ;; 251 esac 252 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 253 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 254 exit 0 ;; 255 3050*:HI-UX:*:*) 256 sed 's/^ //' << EOF >dummy.c 257 #include <unistd.h> 258 int 259 main () 260 { 261 long cpu = sysconf (_SC_CPU_VERSION); 262 /* The order matters, because CPU_IS_HP_MC68K erroneously returns 263 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 264 results, however. */ 265 if (CPU_IS_PA_RISC (cpu)) 266 { 267 switch (cpu) 268 { 269 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 270 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 271 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 272 default: puts ("hppa-hitachi-hiuxwe2"); break; 273 } 274 } 275 else if (CPU_IS_HP_MC68K (cpu)) 276 puts ("m68k-hitachi-hiuxwe2"); 277 else puts ("unknown-hitachi-hiuxwe2"); 278 exit (0); 279 } 280EOF 281 ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 282 rm -f dummy.c dummy 283 echo unknown-hitachi-hiuxwe2 284 exit 0 ;; 285 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 286 echo hppa1.1-hp-bsd 287 exit 0 ;; 288 9000/8??:4.3bsd:*:*) 289 echo hppa1.0-hp-bsd 290 exit 0 ;; 291 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 292 echo hppa1.1-hp-osf 293 exit 0 ;; 294 hp8??:OSF1:*:*) 295 echo hppa1.0-hp-osf 296 exit 0 ;; 297 parisc*:Lites*:*:*) 298 echo hppa1.1-hp-lites 299 exit 0 ;; 300 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 301 echo c1-convex-bsd 302 exit 0 ;; 303 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 304 if getsysinfo -f scalar_acc 305 then echo c32-convex-bsd 306 else echo c2-convex-bsd 307 fi 308 exit 0 ;; 309 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 310 echo c34-convex-bsd 311 exit 0 ;; 312 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 313 echo c38-convex-bsd 314 exit 0 ;; 315 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 316 echo c4-convex-bsd 317 exit 0 ;; 318 CRAY*X-MP:*:*:*) 319 echo xmp-cray-unicos 320 exit 0 ;; 321 CRAY*Y-MP:*:*:*) 322 echo ymp-cray-unicos${UNAME_RELEASE} 323 exit 0 ;; 324 CRAY*C90:*:*:*) 325 echo c90-cray-unicos${UNAME_RELEASE} 326 exit 0 ;; 327 CRAY-2:*:*:*) 328 echo cray2-cray-unicos 329 exit 0 ;; 330 hp3[0-9][05]:NetBSD:*:*) 331 echo m68k-hp-netbsd${UNAME_RELEASE} 332 exit 0 ;; 333 hp3[0-9][05]:OpenBSD:*:*) 334 echo m68k-unknown-openbsd${UNAME_RELEASE} 335 exit 0 ;; 336 i[34]86:BSD/386:*:* | *:BSD/OS:*:*) 337 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 338 exit 0 ;; 339 *:FreeBSD:*:*) 340 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 341 exit 0 ;; 342 *:NetBSD:*:*) 343 echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 344 exit 0 ;; 345 *:OpenBSD:*:*) 346 echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 347 exit 0 ;; 348 *:GNU:*:*) 349 echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 350 exit 0 ;; 351 *:Linux:*:*) 352 # The BFD linker knows what the default object file format is, so 353 # first see if it will tell us. 354 ld_help_string=`ld --help 2>&1` 355 if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then 356 echo "${UNAME_MACHINE}-unknown-linux" ; exit 0 357 elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then 358 echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0 359 elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then 360 echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0 361 elif test "${UNAME_MACHINE}" = "alpha" ; then 362 echo alpha-unknown-linux ; exit 0 363 else 364 # Either a pre-BFD a.out linker (linuxoldld) or one that does not give us 365 # useful --help. Gcc wants to distinguish between linuxoldld and linuxaout. 366 test ! -d /usr/lib/ldscripts/. \ 367 && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0 368 # Determine whether the default compiler is a.out or elf 369 cat >dummy.c <<EOF 370main(argc, argv) 371int argc; 372char *argv[]; 373{ 374#ifdef __ELF__ 375 printf ("%s-unknown-linux\n", argv[1]); 376#else 377 printf ("%s-unknown-linuxaout\n", argv[1]); 378#endif 379 return 0; 380} 381EOF 382 ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 383 rm -f dummy.c dummy 384 fi ;; 385# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions 386# are messed up and put the nodename in both sysname and nodename. 387 i[34]86:DYNIX/ptx:4*:*) 388 echo i386-sequent-sysv4 389 exit 0 ;; 390 i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*) 391 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 392 echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} 393 else 394 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE} 395 fi 396 exit 0 ;; 397 i[34]86:*:3.2:*) 398 if test -f /usr/options/cb.name; then 399 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 400 echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL 401 elif /bin/uname -X 2>/dev/null >/dev/null ; then 402 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` 403 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 404 echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL 405 else 406 echo ${UNAME_MACHINE}-unknown-sysv32 407 fi 408 exit 0 ;; 409 Intel:Mach:3*:*) 410 echo i386-unknown-mach3 411 exit 0 ;; 412 paragon:*:*:*) 413 echo i860-intel-osf1 414 exit 0 ;; 415 i860:*:4.*:*) # i860-SVR4 416 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 417 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 418 else # Add other i860-SVR4 vendors below as they are discovered. 419 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 420 fi 421 exit 0 ;; 422 mini*:CTIX:SYS*5:*) 423 # "miniframe" 424 echo m68010-convergent-sysv 425 exit 0 ;; 426 M680[234]0:*:R3V[567]*:*) 427 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 428 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0) 429 uname -p 2>/dev/null | grep 86 >/dev/null \ 430 && echo i486-ncr-sysv4.3 && exit 0 ;; 431 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 432 uname -p 2>/dev/null | grep 86 >/dev/null \ 433 && echo i486-ncr-sysv4 && exit 0 ;; 434 m680[234]0:LynxOS:2.[23]*:*) 435 echo m68k-lynx-lynxos${UNAME_RELEASE} 436 exit 0 ;; 437 mc68030:UNIX_System_V:4.*:*) 438 echo m68k-atari-sysv4 439 exit 0 ;; 440 i[34]86:LynxOS:2.[23]*:*) 441 echo i386-lynx-lynxos${UNAME_RELEASE} 442 exit 0 ;; 443 TSUNAMI:LynxOS:2.[23]*:*) 444 echo sparc-lynx-lynxos${UNAME_RELEASE} 445 exit 0 ;; 446 rs6000:LynxOS:2.[23]*:*) 447 echo rs6000-lynx-lynxos${UNAME_RELEASE} 448 exit 0 ;; 449 RM*:SINIX-*:*:*) 450 echo mips-sni-sysv4 451 exit 0 ;; 452 *:SINIX-*:*:*) 453 if uname -p 2>/dev/null >/dev/null ; then 454 UNAME_MACHINE=`(uname -p) 2>/dev/null` 455 echo ${UNAME_MACHINE}-sni-sysv4 456 else 457 echo ns32k-sni-sysv 458 fi 459 exit 0 ;; 460esac 461 462#echo '(No uname command or uname output not recognized.)' 1>&2 463#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 464 465cat >dummy.c <<EOF 466#ifdef _SEQUENT_ 467# include <sys/types.h> 468# include <sys/utsname.h> 469#endif 470main () 471{ 472#if defined (sony) 473#if defined (MIPSEB) 474 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 475 I don't know.... */ 476 printf ("mips-sony-bsd\n"); exit (0); 477#else 478#include <sys/param.h> 479 printf ("m68k-sony-newsos%s\n", 480#ifdef NEWSOS4 481 "4" 482#else 483 "" 484#endif 485 ); exit (0); 486#endif 487#endif 488 489#if defined (__arm) && defined (__acorn) && defined (__unix) 490 printf ("arm-acorn-riscix"); exit (0); 491#endif 492 493#if defined (hp300) && !defined (hpux) 494 printf ("m68k-hp-bsd\n"); exit (0); 495#endif 496 497#if defined (NeXT) 498#if !defined (__ARCHITECTURE__) 499#define __ARCHITECTURE__ "m68k" 500#endif 501 int version; 502 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 503 printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3"); 504 exit (0); 505#endif 506 507#if defined (MULTIMAX) || defined (n16) 508#if defined (UMAXV) 509 printf ("ns32k-encore-sysv\n"); exit (0); 510#else 511#if defined (CMU) 512 printf ("ns32k-encore-mach\n"); exit (0); 513#else 514 printf ("ns32k-encore-bsd\n"); exit (0); 515#endif 516#endif 517#endif 518 519#if defined (__386BSD__) 520 printf ("i386-unknown-bsd\n"); exit (0); 521#endif 522 523#if defined (sequent) 524#if defined (i386) 525 printf ("i386-sequent-dynix\n"); exit (0); 526#endif 527#if defined (ns32000) 528 printf ("ns32k-sequent-dynix\n"); exit (0); 529#endif 530#endif 531 532#if defined (_SEQUENT_) 533 struct utsname un; 534 535 uname(&un); 536 537 if (strncmp(un.version, "V2", 2) == 0) { 538 printf ("i386-sequent-ptx2\n"); exit (0); 539 } 540 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 541 printf ("i386-sequent-ptx1\n"); exit (0); 542 } 543 printf ("i386-sequent-ptx\n"); exit (0); 544 545#endif 546 547#if defined (vax) 548#if !defined (ultrix) 549 printf ("vax-dec-bsd\n"); exit (0); 550#else 551 printf ("vax-dec-ultrix\n"); exit (0); 552#endif 553#endif 554 555#if defined (alliant) && defined (i860) 556 printf ("i860-alliant-bsd\n"); exit (0); 557#endif 558 559 exit (1); 560} 561EOF 562 563${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 564rm -f dummy.c dummy 565 566# Apollos put the system type in the environment. 567 568test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 569 570# Convex versions that predate uname can use getsysinfo(1) 571 572if [ -x /usr/convex/getsysinfo ] 573then 574 case `getsysinfo -f cpu_type` in 575 c1*) 576 echo c1-convex-bsd 577 exit 0 ;; 578 c2*) 579 if getsysinfo -f scalar_acc 580 then echo c32-convex-bsd 581 else echo c2-convex-bsd 582 fi 583 exit 0 ;; 584 c34*) 585 echo c34-convex-bsd 586 exit 0 ;; 587 c38*) 588 echo c38-convex-bsd 589 exit 0 ;; 590 c4*) 591 echo c4-convex-bsd 592 exit 0 ;; 593 esac 594fi 595 596#echo '(Unable to guess system type)' 1>&2 597 598exit 1 599