1newcode : 2/* 3 * host.defs: Hosttype/Machtype etc. 4 */ 5/*- 6 * Copyright (c) 1980, 1991 The Regents of the University of California. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 3. Neither the name of the University nor the names of its contributors 18 * may be used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33#include "sh.h" 34 35endcode : 36 37macro : M_mips64el : (defined(mips64) && defined(MIPSEL)) 38macro : M_mips64eb : (defined(mips64) && defined(MIPSEB)) 39macro : M_mipsel : (!defined(M_mips64el) && defined(mips) && defined(MIPSEL)) 40macro : M_mipseb : (!defined(M_mips64eb) && defined(mips) && defined(MIPSEB)) 41macro : M_amd64: (defined(amd64) || defined(x86_64)) 42macro : M_i386 : defined(i386) 43macro : M_i486 : defined(i486) 44macro : M_i586 : defined(i586) 45macro : M_i686 : defined(i686) 46macro : M_intel : (defined(M_i386) || defined(M_i486) || defined(M_i586)) 47 48newdef : defined(ns32000) 49newcode : 50static char * 51isamultimax(int flag) 52{ 53 if (access("/Umax.image", F_OK) == 0) 54 return "multimax"; 55 else 56 return flag ? "mach" : "ns32000"; 57} 58endcode : 59enddef : 60 61 62newdef : defined(cray) 63newcode : 64/* 65 * On crays, find the current machine type via the target() syscall 66 * We need ctype.h to convert the name returned to lower case 67 */ 68# include <sys/target.h> 69# include <ctype.h> 70# include <string.h> 71 72/* From: hpa@hook.eecs.nwu.edu (H. Peter Anvin) */ 73static char * 74getcray(void) 75{ 76# ifdef MC_GET_SYSTEM /* If we have target() */ 77 struct target data; 78 79 if (target(MC_GET_SYSTEM, &data) != -1) { 80 static char hosttype_buf[sizeof(data.mc_pmt)+1]; 81 unsigned char *p = (unsigned char *) &(data.mc_pmt); 82 char *q = hosttype_buf; 83 int n; 84 85 /* 86 * Copy to buffer and convert to lower case 87 * String may not be null-terminated, so keep a counter 88 */ 89 for (n = 0; *p && n < sizeof(data.mc_pmt); n++) 90 *q++ = tolower(p[n]); 91 92 *q = '\0'; 93 94 /* replace dashes with underscores if present */ 95 while ((q = strchr(hosttype_buf, '-')) != NULL) 96 *q = '_'; 97 return hosttype_buf; /* Return in static buffer */ 98 } 99 else 100# endif /* MC_GET_SYSTEM */ 101 return "cray"; /* target() failed */ 102} 103endcode : 104enddef : 105 106 107newdef : defined(convex) 108newcode : 109/* 110 * On convex, find the current machine type via the getsysinfo() syscall 111 */ 112#include <sys/sysinfo.h> 113 114/* From: fox@convex.com (David DeSimone) */ 115static char * 116getconvex(void) 117{ 118 struct system_information sysinfo; 119 static char result[8]; 120 121 if (getsysinfo(SYSINFO_SIZE, &sysinfo) == -1) 122 return "convex"; 123 124 switch(sysinfo.cpu_type) { 125#ifdef SI_CPUTYPE_C1 126 case SI_CPUTYPE_C1: 127 return "c1"; 128#endif 129 130#ifdef SI_CPUTYPE_C2 131 case SI_CPUTYPE_C2: 132 return "c2"; 133#endif 134 135#ifdef SI_CPUTYPE_C2MP 136 case SI_CPUTYPE_C2MP: 137 (void) strcpy(result, "c2X0"); 138 result[2] = sysinfo.cpu_count + '0'; 139 return result; 140#endif 141 142#ifdef SI_CPUTYPE_C34 143 case SI_CPUTYPE_C34: 144 (void) strcpy(result, "c34X0"); 145 result[3] = sysinfo.cpu_count + '0'; 146 return result; 147#endif 148 149#ifdef SI_CPUTYPE_C38 150 case SI_CPUTYPE_C38: 151 (void) strcpy(result, "c38X0"); 152 result[3] = sysinfo.cpu_count + '0'; 153 return result; 154#endif 155 156#ifdef SI_CPUTYPE_C46 157 case SI_CPUTYPE_C46: 158 (void) strcpy(result, "c46X0"); 159 result[3] = sysinfo.cpu_count + '0'; 160 return result; 161#endif 162 163 default: 164 return "convex"; 165 } 166} 167endcode : 168enddef : 169 170newdef : defined(linux) || defined(CYGWIN) || defined(GNU) || defined(GLIBC) 171newcode : 172# include "tw.h" 173#include <sys/utsname.h> 174static char mach[256]; 175static char host[256]; 176static char ostype[32]; 177static void populate(void) 178{ 179 struct utsname uts; 180 int e = uname(&uts); 181 const char *p = short2str(tgetenv(STROSTYPE)); 182 if (p == NULL) { 183#if defined(__ANDROID__) 184 p = "android"; 185#elif defined(__CYGWIN__) 186 p = "cygwin"; 187#else 188 p = "linux"; 189#endif 190 } 191 xsnprintf(ostype, sizeof(ostype), "%s", p); 192 xsnprintf(mach, sizeof(mach), "%s", e != -1 ? uts.machine : "unknown"); 193 xsnprintf(host, sizeof(host), "%s-%s", 194 e != -1 ? uts.machine : "unknown", ostype); 195} 196 197static char * 198getmach(void) 199{ 200 if (!mach[0]) 201 populate(); 202 return mach; 203} 204 205static char * 206gethost(void) 207{ 208 if (!host[0]) 209 populate(); 210 return host; 211} 212 213static char * 214getostype(void) 215{ 216 if (!ostype[0]) 217 populate(); 218 return ostype; 219} 220 221endcode : 222enddef : 223 224newcode : 225void 226getmachine(void) 227{ 228 const char *hosttype; 229 const char *ostype; 230 const char *vendor; 231 const char *machtype; 232 233endcode : 234 235 236newdef : defined(HOSTTYPE) 237hosttype: : HOSTTYPE 238enddef : 239 240 241newdef : defined(PARAGON) 242comment : Intel Paragon running OSF/1 243vendor : : "intel" 244hosttype: : "paragon" 245ostype : : "osf1" 246machtype: defined(M_i386) : "i386" 247enddef : 248 249 250newdef : defined(AMIX) 251comment : Amiga running Amix 2.02 252vendor : : "commodore" 253hosttype: : "amiga" 254ostype : : "Amix" 255machtype: : "m68k" 256enddef : 257 258 259newdef : defined(accel) 260comment : celerity Accel 261vendor : : "celerity" 262hosttype: : "celerityACCEL" 263ostype : : "unix" 264machtype: : "accel" 265enddef : 266 267 268newdef : defined(_VMS_POSIX) 269comment : digital vax or alpha running vms posix 270vendor : : "dec" 271hosttype: : "VMS-POSIX" 272ostype : : "vms" 273machtype: defined(alpha) : "alpha" 274machtype: defined(vax) : "vax" 275enddef : 276 277 278newdef : defined(hp_osf) 279comment : Hewlett Packard running OSF/1 280vendor : : "hp" 281hosttype: defined(pa_risc) : "hp9000s700-osf1" 282hosttype: : "hp-osf1" 283ostype : : "osf1" 284machtype: defined(pa_risc) : "pa_risc" 285enddef : 286 287 288newdef : defined(hp9000) 289comment : Hewlett Packard running MORE/bsd 290vendor : : "hp" 291hosttype: defined(hp300) : "hp300" 292hosttype: defined(hp800) : "hp800" 293hosttype: : "hp9000" 294ostype : defined(BSD4_4) : "bsd44" 295ostype : : "mtXinu" 296machtype: defined(hp300) : "m68k" 297machtype: defined(hp800) : "pa_risc" 298enddef : 299 300 301newdef : defined(hpux) 302comment : Hewlett Packard running HP/UX 303vendor : : "hp" 304hosttype: defined(hp9000s800) : "hp9000s800" 305hosttype: defined(hp9000s700) : "hp9000s700" 306hosttype: defined(hp9000s500) : "hp9000s500" 307hosttype: defined(hp9000s300) : "hp9000s300" 308hosttype: : "hp" 309ostype : : "hpux" 310machtype: defined(hp9000s800) : "pa_risc" 311machtype: defined(hp9000s700) : "pa_risc" 312machtype: defined(hp9000s500) : "m68k" 313machtype: defined(hp9000s300) : "m68k" 314enddef : 315 316 317newdef : defined(apollo) 318comment : Hewlett Packard apollo running Domain/OS 319vendor : : "hp" 320hosttype: : "apollo" 321ostype : : "DomainOS" 322machtype: : "m68k" 323enddef : 324 325 326newdef : defined(sun) 327comment : Sun Microsystems series 2 workstation (68010 based) 328comment : Sun Microsystems series 3 workstation (68020 based) 329comment : Sun Microsystems 386i workstation (386 based) 330comment : Sun Microsystems series 4 workstation (SPARC based) 331vendor : : "sun" 332hosttype: defined(M_i386) && !defined(SVR4) : "sun386i" 333hosttype: defined(M_i386) && defined(SVR4) : "i86pc" 334hosttype: defined(M_amd64) : "i86pc" 335hosttype: defined(mc68010) : "sun2" 336hosttype: defined(mc68020) : "sun3" 337hosttype: defined(sparc) : "sun4" 338hosttype: : "sun" 339ostype : defined(SUNOS3) : "sunos3" 340ostype : defined(SUNOS4) : "sunos4" 341ostype : defined(SOLARIS2) : "solaris" 342machtype: defined(mc68010) : "m68k" 343machtype: defined(mc68020) : "m68k" 344machtype: defined(sparcv9) : "sparcv9" 345machtype: defined(sparc) : "sparc" 346machtype: defined(M_i386) : "i386" 347machtype: defined(M_amd64) : "amd64" 348enddef : 349 350 351newdef : defined(pyr) 352comment : Pyramid Technology 353vendor : : "pyramid" 354hosttype: : "pyramid" 355machtype: : "pyramid" 356enddef : 357 358 359newdef : defined(hcx) || defined(_CX_UX) 360comment : Harris Tahoe running CX/UX 361vendor : : "harris" 362hosttype: : "hcx" 363ostype : : "hcx" 364machtype: : "tahoe" 365enddef : 366 367 368newdef : defined(tahoe) 369comment : Harris Tahoe 370vendor : : "harris" 371hosttype: : "tahoe" 372machtype: : "tahoe" 373enddef : 374 375 376newdef : defined(ibm032) 377comment : RT running IBM AOS4.3 or MACH 378vendor : : "ibm" 379hosttype: : "rt" 380ostype : defined(MACH) : "mach" 381ostype : : "aos" 382machtype: : "ibm032" 383enddef : 384 385 386newdef : defined(aiws) 387comment : RT running IBM aix2.x 388vendor : : "ibm" 389hosttype: : "rtpc" 390ostype : : "aix" 391machtype: : "ibm032" 392enddef : 393 394 395newdef : defined(_AIX370) 396comment : IBM/370 running aix 397vendor : : "ibm" 398hosttype: : "aix370" 399ostype : : "aix" 400machtype: : "ibm370" 401enddef : 402 403 404newdef : defined(_IBMESA) 405comment : IBM/ESA running aix 406vendor : : "ibm" 407hosttype: : "aixESA" 408ostype : : "aix" 409machtype: : "esa" 410enddef : 411 412 413newdef : defined(_IBMR2) 414comment : IBM/RS6000 running aix 415vendor : : "ibm" 416hosttype: : "rs6000" 417ostype : : "aix" 418machtype: : "rs6000" 419enddef : 420 421 422newdef : defined(_AIXPS2) 423comment : IBM/PS2 running aix 424vendor : : "ibm" 425hosttype: : "ps2" 426ostype : : "aix" 427machtype: : "i386" 428enddef : 429 430 431newdef : defined(OREO) 432comment : Macintosh running AU/X 433vendor : : "apple" 434hosttype: : "mac2" 435ostype : : "aux" 436machtype: defined(mc68020) : "m68k" 437enddef : 438 439 440newdef : defined(u3b20d) 441comment : AT&T 3B/20 series running SVR2/3 442vendor : : "att" 443hosttype: : "att3b20" 444machtype: : "u3b20" 445enddef : 446 447 448newdef : defined(u3b15) 449comment : AT&T 3B/15 series running SVR2/3 450vendor : : "att" 451hosttype: : "att3b15" 452machtype: : "u3b15" 453enddef : 454 455 456newdef : defined(u3b5) 457comment : AT&T 3B/5 series running SVR2/3 458vendor : : "att" 459hosttype: : "att3b5" 460machtype: : "u3b5" 461enddef : 462 463 464newdef : defined(u3b2) 465comment : AT&T 3B/2 series running SVR2/3 466vendor : : "att" 467hosttype: : "att3b2" 468machtype: : "u3b2" 469enddef : 470 471 472newdef : defined(UNIXPC) 473comment : AT&T UnixPC att3b1/att7300 474vendor : : "att" 475hosttype: : "unixpc" 476machtype: defined(u3b1) : "u3b1" 477machtype: defined(att7300) : "att7300" 478enddef : 479 480 481newdef : defined(_MINIX) 482comment : Andy Tanenbaum's minix 483vendor : defined(M_i386) : "intel" 484hosttype: defined(M_i386) : "minix386" 485hosttype: : "minix" 486ostype : : "minix" 487machtype: defined(M_i386) : "i386" 488enddef : 489 490 491newdef : defined(gnu_hurd) 492comment : GNU/HURD 493vendor : defined(M_intel) : "intel" 494hosttype: defined(M_i686) : "i686" 495hosttype: defined(M_i586) : "i586" 496hosttype: defined(M_i486) : "i486" 497hosttype: defined(M_i386) : "i386" 498ostype : : "gnu" 499machtype: defined(M_i686) : "i686-pc-gnu" 500machtype: defined(M_i586) : "i586-pc-gnu" 501machtype: defined(M_i486) : "i486-pc-gnu" 502machtype: defined(M_i386) : "i386-pc-gnu" 503enddef : 504 505 506newdef : defined(linux) || defined(GNU) || defined(GLIBC) 507comment : Linus Torvalds's linux 508vendor : defined(M_intel) : "intel" 509hosttype: : gethost() 510ostype : : getostype() 511machtype: : getmach() 512vendor : defined(ANDROID) : "linux" 513vendor : defined(alpha) : "dec" 514vendor : defined(PPC) : "apple" 515enddef : 516 517 518newdef : defined(EMX) 519comment : OS/2 EMX [unix emulation under OS/2] 520vendor : defined(M_intel) : "intel" 521hosttype: defined(M_i386) : "i386-emx" 522ostype : : "os2" 523machtype: defined(M_i386) : "i386" 524enddef : 525 526 527newdef : defined(NetBSD) 528comment : NetBSD 529vendor : defined(algor) : "algoritmics" 530vendor : defined(arm32) || defined(arm) : "acorn" 531vendor : defined(alpha) : "digital" 532vendor : defined(amiga) : "commodore" 533vendor : defined(atari) : "atari" 534vendor : defined(hp300) : "hp" 535vendor : defined(M_intel) : "intel" 536vendor : defined(m68k) : "motorola" 537vendor : defined(mac68k) : "apple" 538vendor : defined(pc532) : "national-semi" 539vendor : defined(pmax) : "dec" 540vendor : defined(powerpc) : "motorola" 541vendor : defined(mips) : "mips" 542vendor : defined(sparc) : "sun" 543vendor : defined(sparc64) : "sun" 544vendor : defined(sun3) : "sun" 545vendor : defined(vax) : "digital" 546vendor : defined(M_amd64) : "amd" 547hosttype: : "NetBSD" 548ostype : : "NetBSD" 549machtype: defined(alpha) : "alpha" 550machtype: defined(algor) : "algor" 551machtype: defined(arm32) || defined(APCS_32) : "arm32" 552machtype: defined(arm26) || defined(APCS_26) : "arm26" 553machtype: defined(arm) : "arm" 554machtype: defined(sparc) : "sparc" 555machtype: defined(sparc64) : "sparc64" 556machtype: defined(mc68020) : "m68k" 557machtype: defined(M_i386) : "i386" 558machtype: defined(M_mipsel) : "mipsel" 559machtype: defined(M_mipseb) : "mipseb" 560machtype: defined(mips) : "mips" 561machtype: defined(pc532) : "pc532" 562machtype: defined(powerpc) : "powerpc" 563machtype: defined(vax) : "vax" 564machtype: defined(M_amd64) : "x86_64" 565enddef : 566 567newdef : defined(OpenBSD) 568comment : OpenBSD 569vendor : defined(alpha) : "digital" 570vendor : defined(M_amd64) : "amd" 571vendor : defined(arm) : "arm" 572vendor : defined(hppa) || defined(hppa64) : "hp" 573vendor : defined(M_intel) : "intel" 574vendor : defined(m68k) : "motorola" 575vendor : defined(m88k) : "motorola" 576vendor : defined(mips) && defined(sgi) : "sgi" 577vendor : defined(powerpc) : "motorola" 578vendor : defined(sh) : "io-data" 579vendor : defined(sparc) || defined(sparc64) : "sun" 580vendor : defined(vax) : "digital" 581hosttype: : "OpenBSD" 582ostype : : "OpenBSD" 583machtype: defined(alpha) : "alpha" 584machtype: defined(M_amd64) : "amd64" 585machtype: defined(arm) : "arm" 586machtype: defined(hppa) : "hppa" 587machtype: defined(hppa64) : "hppa64" 588machtype: defined(M_i386) : "i386" 589machtype: defined(m68k) : "m68k" 590machtype: defined(m88k) : "m88k" 591machtype: defined(mips) : "mips" 592machtype: defined(sh) : "sh" 593machtype: defined(sparc64) : "sparc64" 594machtype: defined(sparc) : "sparc" 595machtype: defined(powerpc) : "powerpc" 596machtype: defined(vax) : "vax" 597enddef : 598 599 600newdef : defined(FreeBSD) 601comment : FreeBSD 602vendor : defined(alpha) : "digital" 603vendor : defined(arm32) || defined(arm) : "acorn" 604vendor : defined(M_intel) : "intel" 605vendor : defined(ia64) : "intel" 606vendor : defined(mips) : "mips" 607vendor : defined(powerpc) : "motorola" 608vendor : defined(sparc) : "sun" 609vendor : defined(sparc64) : "sun" 610vendor : defined(M_amd64) : "amd" 611hosttype: : "FreeBSD" 612ostype : : "FreeBSD" 613machtype: defined(alpha) : "alpha" 614machtype: defined(arm32) || defined(APCS_32) : "arm32" 615machtype: defined(arm) : "arm" 616machtype: defined(ia64) : "ia64" 617machtype: defined(M_i386) : "i386" 618machtype: defined(mips) : "mips" 619machtype: defined(powerpc) : "powerpc" 620machtype: defined(sparc) : "sparc" 621machtype: defined(sparc64) : "sparc64" 622machtype: defined(M_amd64) : "x86_64" 623enddef : 624 625 626newdef : defined(MidnightBSD) 627comment : MidnightBSD 628vendor : defined(M_intel) : "intel" 629hosttype: : "MidnightBSD" 630ostype : : "MidnightBSD" 631machtype: defined(M_i386) : "i386" 632enddef : 633 634 635newdef : defined(__386BSD__) 636comment : Bill Jolitz's 386BSD 637vendor : defined(M_intel) : "intel" 638hosttype: : "386BSD" 639ostype : : "386BSD" 640machtype: : "i386" 641enddef : 642 643 644newdef : defined(bsdi) 645comment : BSDI's unix 646vendor : defined(M_intel) : "intel" 647vendor : defined(sparc) : "sun" 648vendor : defined(powerpc) : "motorola" 649hosttype: defined(M_intel) : "bsd386" 650hosttype: defined(sparc) : "bsd-sparc" 651hosttype: defined(powerpc) : "bsd-powerpc" 652ostype : : "bsdi" 653machtype: defined(M_i386) : "i386" 654machtype: defined(sparc) : "sparc" 655machtype: defined(powerpc) : "powerpc" 656enddef : 657 658 659newdef : defined(COHERENT) 660comment : COHERENT's unix 661vendor : defined(_I386) : "intel" 662hosttype: : "coh386" 663hosttype: : "coherent" 664ostype : : "coherent" 665machtype: defined(_I386) : "i386" 666enddef : 667 668newdef : defined(concurrent) 669comment : Concurrent PowerHawk 670vendor : : "concurrent" 671hosttype: : "powerhawk" 672ostype : : "powermax_os" 673machtype: : "powerhawk" 674enddef : 675 676newdef : defined(SCO) 677comment : SCO UNIX System V/386 Release 3.2 678vendor : : "sco" 679hosttype: : "sco386" 680ostype : : "sco_unix" 681machtype: : "i386" 682enddef : 683 684newdef : defined(M_XENIX) && !defined(M_UNIX) 685comment : SCO XENIX 686vendor : : "sco" 687hosttype: : "sco_xenix" 688ostype : : "sco_xenix" 689machtype: defined(M_I386) : "i386" 690machtype: defined(M_I286) : "i286" 691enddef : 692 693 694newdef : defined(ISC) || defined(ISC202) 695comment : Interactive Unix 696vendor : : "isc" 697hosttype: : "isc386" 698ostype : defined(POSIX) : "POSIX" 699ostype : : "SVR3" 700machtype: defined(M_i386) : "i386" 701enddef : 702 703 704newdef : defined(INTEL) 705comment : Intel Unix 706vendor : : "intel" 707hosttype: : "intel386" 708ostype : : "intel_unix" 709machtype: defined(M_i386) : "i386" 710enddef : 711 712 713newdef : defined(MACH) 714comment : cmu's mach 715vendor : : "cmu" 716hosttype: defined(M_i386) : "i386-mach" 717ostype : : "mach" 718machtype: defined(M_i386) : "i386" 719enddef : 720 721 722newdef : defined(alliant) 723comment : Alliants FSX 724vendor : : "alliant" 725hosttype: defined(mc68000) : "alliant-fx80" 726hosttype: defined(i860) : "alliant-fx2800" 727hosttype: : "alliant" 728ostype : : "fsx" 729machtype: defined(mc68000) : "mc68000" 730machtype: defined(i860) : "i860" 731enddef : 732 733 734newdef : defined(_FTX) 735comment : Stratus Computer, Inc FTX2 (i860 based) 736comment : Stratus Computer, Inc FTX3 (HPPA based) 737vendor : : "stratus" 738hosttype: defined(i860) && defined(_FTX) : "atlantic" 739hosttype: defined(hppa) && defined(_FTX) : "continuum" 740ostype : defined(i860) && defined(_FTX) : "ftx2" 741ostype : defined(hppa) && defined(_FTX) : "ftx3" 742machtype: defined(i860) : "i860" 743machtype: defined(hppa) : "hppa" 744enddef : 745 746 747newdef : defined(sequent) || defined(_SEQUENT_) 748comment : Sequent Balance (32000 based) 749comment : Sequent Symmetry running DYNIX/ptx (386/486 based) 750comment : Sequent Symmetry running DYNIX 3 (386/486 based) 751vendor : : "sequent" 752hosttype: defined(M_i386) && defined(sequent) : "symmetry" 753hosttype: defined(M_i386) : "ptx" 754hosttype: : "balance" 755ostype : defined(M_i386) && !defined(sequent) : "ptx" 756ostype : : "dynix3" 757machtype: defined(M_i386) : "i386" 758machtype: defined(ns32000) : "ns32000" 759enddef : 760 761 762newdef : defined(ns32000) 763comment : Encore Computer Corp. Multimax (32000 based) 764vendor : : "encore" 765hosttype: defined(CMUCS) : "multimax" 766hosttype: : isamultimax(0) 767ostype : defined(CMUCS) : "mach" 768ostype : : isamultimax(1) 769machtype: : "ns32000" 770enddef : 771 772 773newdef : defined(iconuxv) 774comment : Icon 88k running Unix 775vendor : : "icon" 776hosttype: : "icon" 777ostype : : "iconuxv" 778machtype: defined(m88k) : "m88k" 779enddef : 780 781 782newdef : defined(_CRAY) && defined(_CRAYCOM) 783comment : Cray Computer Corp. running CSOS 784vendor : : "ccc" 785hosttype: defined(_CRAY2) : "cray" 786hosttype: defined(_CRAY3) : "cray" 787hosttype: defined(_CRAY4) : "cray" 788ostype : : "CSOS" 789machtype: defined(_CRAY2) : "cray2" 790machtype: defined(_CRAY3) : "cray3" 791machtype: defined(_CRAY4) : "cray4" 792enddef : 793 794 795newdef : defined(cray) && !defined(_CRAYMPP) 796comment : Cray Research Inc. PVP running UNICOS 797vendor : : "cri" 798hosttype: : getcray() 799ostype : : "unicos" 800machtype: : getcray() 801enddef : 802 803 804newdef : defined(cray) && defined(_CRAYT3D) 805comment : Cray Research Inc. running UNICOS MAX 806vendor : : "cri" 807hosttype: : getcray() 808ostype : : "unicosmax" 809machtype: : getcray() 810enddef : 811 812 813newdef : defined(cray) && defined(_CRAYT3E) 814comment : Cray Research Inc. running UNICOS/mk 815vendor : : "cri" 816hosttype: : getcray() 817ostype : : "unicosmk" 818machtype: : getcray() 819enddef : 820 821 822newdef : defined(convex) 823comment : Convex 824vendor : : "convex" 825hosttype: : "convex" 826ostype : : "convexos" 827machtype: : getconvex() 828enddef : 829 830 831newdef : defined(butterfly) 832comment : BBN Butterfly 1000 833vendor : : "bbn" 834hosttype: : "butterfly" 835machtype: defined(mc68020) : "m68k" 836enddef : 837 838 839newdef : defined(NeXT) 840comment : NeXTStep 841vendor : : "next" 842hosttype: defined(mc68020) : "next" 843hosttype: defined(M_i386) : "intel-pc" 844hosttype: defined(hppa) : "hp" 845hosttype: defined(sparc) : "sun" 846ostype : : "nextstep" 847machtype: defined(mc68020) : "m68k" 848machtype: defined(M_i386) : "i386" 849machtype: defined(hppa) : "hppa" 850machtype: defined(sparc) : "sparc" 851enddef : 852 853 854newdef : defined(APPLE) 855comment : OS X 856vendor : : "apple" 857hosttype: defined(i386) : "intel-mac" 858hosttype: defined(ppc) : "powermac" 859hosttype: defined(M_amd64) : "intel-mac" 860ostype : : "darwin" 861machtype: defined(i386) : "i386" 862machtype: defined(M_amd64) : "x86_64" 863machtype: defined(ppc) : "powerpc" 864enddef : 865 866 867newdef : defined(sony_news) 868comment : Sony NEWS 800 or 1700 workstation 869vendor : : "sony" 870hosttype: defined(mips) : "news_mips" 871hosttype: defined(mc68020) : "news_m68k" 872ostype : : "News" 873machtype: defined(mc68020) : "m68k" 874machtype: defined(M_mipsel) : "mipsel" 875machtype: defined(M_mipseb) : "mipseb" 876enddef : 877 878 879newdef : defined(sgi) 880comment : Silicon Graphics 881vendor : : "sgi" 882hosttype: defined(M_mipsel) : "iris4d" 883hosttype: defined(M_mipseb) : "iris4d" 884hosttype: defined(mc68000) : "iris3d" 885ostype : : "irix" 886machtype: defined(M_mipsel) : "mipsel" 887machtype: defined(M_mipseb) : "mipseb" 888machtype: defined(mc68000) : "mc68000" 889enddef : 890 891 892newdef : defined(ultrix) 893comment : Digital's Ultrix 894vendor : : "dec" 895hosttype: defined(M_mipsel) : "decstation" 896hosttype: defined(M_mipseb) : "decmips" 897hosttype: defined(vax) : "vax" 898ostype : : "ultrix" 899machtype: defined(M_mipsel) : "mipsel" 900machtype: defined(M_mipseb) : "mipseb" 901machtype: defined(vax) : "vax" 902enddef : 903 904 905newdef : defined(MIPS) 906comment : Mips OS 907vendor : : "mips" 908hosttype: defined(M_mipsel) : "mips" 909hosttype: defined(M_mipseb) : "mips" 910ostype : : "mips" 911machtype: defined(M_mipsel) : "mipsel" 912machtype: defined(M_mipseb) : "mipseb" 913enddef : 914 915 916newdef : defined(DECOSF1) 917comment : Digital's alpha running osf1 918vendor : : "dec" 919ostype : : "osf1" 920hosttype: defined(alpha) : "alpha" 921machtype: defined(alpha) : "alpha" 922enddef : 923 924 925newdef : defined(Lynx) 926comment : Lynx OS 2.1 927vendor : : "Lynx" 928hosttype: defined(M_mipsel) : "lynxos-mips" 929hosttype: defined(M_mipseb) : "lynxos-mips" 930hosttype: defined(M_i386) : "lynxos-i386" 931hosttype: defined(i860) : "lynxos-i860" 932hosttype: defined(m68k) : "lynxos-m68k" 933hosttype: defined(m88k) : "lynxos-m88k" 934hosttype: defined(sparc) : "lynxos-sparc" 935hosttype: : "lynxos-unknown" 936ostype : : "LynxOS" 937machtype: defined(M_mipsel) : "mipsel" 938machtype: defined(M_mipseb) : "mipseb" 939machtype: defined(M_i386) : "i386" 940machtype: defined(i860) : "i860" 941machtype: defined(m68k) : "m68k" 942machtype: defined(m88k) : "m88k" 943machtype: defined(sparc) : "sparc" 944enddef : 945 946 947newdef : defined(masscomp) 948comment : Masscomp 949vendor : : "masscomp" 950hosttype: : "masscomp" 951ostype : : "masscomp" 952enddef : 953 954newdef : defined(MACHTEN) 955comment : Machintosh 956vendor : : "Tenon" 957hosttype: : "Macintosh" 958ostype : : "MachTen" 959machtype: : "Macintosh" 960enddef : 961 962 963 964newdef : defined(GOULD_NP1) 965comment : Gould 966vendor : : "gould" 967hosttype: : "gould_np1" 968machtype: : "gould" 969enddef : 970 971 972newdef : defined(MULTIFLOW) 973comment : Multiflow running 4.3BSD 974vendor : : "multiflow" 975hosttype: : "multiflow" 976machtype: : "multiflow" 977ostype : : "bsd43" 978enddef : 979 980 981newdef : defined(SXA) 982comment : PFU/Fujitsu A-xx computer 983vendor : : "sxa" 984hosttype: : "pfa50" 985ostype : defined(_BSDX_) : "e60-bsdx" 986ostype : : "e60" 987machtype: : "pfa50" 988enddef : 989 990 991newdef : defined(titan) 992comment : (St)Ardent Titan 993vendor : : "ardent" 994hosttype: : "titan" 995enddef : 996 997 998newdef : defined(stellar) 999comment : Stellar 1000vendor : : "stellar" 1001hosttype: : "stellar" 1002ostype : : "stellix" 1003enddef : 1004 1005 1006newdef : defined(atari) 1007comment : Atari TT running SVR4. This machine was never 1008comment : commercially available. 1009vendor : : "atari" 1010hosttype: : "atari" 1011ostype : : "asv" 1012enddef : 1013 1014 1015newdef : defined(OPUS) 1016comment : ??? 1017vendor : : "opus" 1018hosttype: : "opus" 1019enddef : 1020 1021 1022newdef : defined(eta10) 1023comment : ETA running SVR3 1024vendor : : "eta" 1025hosttype: : "eta10" 1026enddef : 1027 1028 1029newdef : defined(hk68) 1030comment : Heurikon HK68 running Uniplus+ 5.0 1031vendor : : "heurikon" 1032hosttype: : "hk68" 1033ostype : : "uniplus" 1034enddef : 1035 1036 1037newdef : defined(NDIX) 1038comment : Norsk Data ND 500/5000 running Ndix 1039vendor : : "norsk" 1040hosttype: : "nd500" 1041ostype : : "ndix" 1042enddef : 1043 1044 1045newdef : defined(AMIGA) 1046comment : Amiga running AmigaOS+GG 1047vendor : : "commodore" 1048hosttype: : "amiga" 1049ostype : : "AmigaOS" 1050machtype: : "m68k" 1051enddef : 1052 1053 1054newdef : defined(uts) 1055comment : Amdahl running uts 2.1 1056vendor : : "amdahl" 1057hosttype: : "amdahl" 1058ostype : : "uts" 1059machtype: : "amdahl" 1060enddef : 1061 1062 1063newdef : defined(UTek) 1064comment : Tektronix 4300 running UTek (BSD 4.2 / 68020 based) 1065vendor : : "tektronix" 1066hosttype: : "tek4300" 1067enddef : 1068 1069 1070newdef : defined(UTekV) 1071comment : Tektronix XD88/10 running UTekV 3.2e (SVR3/88100 based) 1072vendor : : "tektronix" 1073hosttype: : "tekXD88" 1074enddef : 1075 1076 1077newdef : defined(DGUX) 1078comment : Data-General AViiON running DGUX 1079hosttype: : "aviion" 1080ostype : : "dgux" 1081vendor : : "dg" 1082machtype: defined(m88k) : "m88k" 1083machtype: defined(i386) : "pentium" 1084enddef : 1085 1086 1087newdef : defined(sysV68) 1088comment : Motorola MPC running System V/68 R32V2 (SVR3/68020 based) 1089vendor : : "motorola" 1090hosttype: : "sysV68" 1091machtype: : "m68k" 1092enddef : 1093 1094 1095newdef : defined(supermax) 1096comment : DDE Supermax running System V/68 R3 (SVR3/68020 based) 1097vendor : : "supermax" 1098hosttype: : "supermax" 1099machtype: : "m68k" 1100enddef : 1101 1102 1103newdef : defined(sysV88) 1104comment : Motorola MPC running System V/88 R32V2 (SVR3/88100 based) 1105vendor : : "motorola" 1106hosttype: : "sysV88" 1107machtype: : "m88k" 1108enddef : 1109 1110 1111newdef : defined(clipper) 1112comment : Clipper Chipset (Intergraph) 1113vendor : : "intergraph" 1114hosttype: : "clipper" 1115machtype: : "clipper" 1116enddef : 1117 1118newdef : defined(QNX) 1119ostype : : "qnx" 1120enddef : 1121 1122newdef : (defined(SNI) || defined(sinix)) && !defined(_OSD_POSIX) 1123comment : Fujitsu Siemens Computers (former "Siemens Nixdorf Informationssysteme"): SINIX aka. ReliantUNIX, a SVR4 derivative 1124vendor : : "fsc" 1125hosttype: defined(M_intel) : "wx200i" 1126hosttype: defined(MIPSEB) : "rm400" 1127ostype : defined(sinix) : "sinix" 1128machtype: defined(M_i586) : "i586" 1129machtype: defined(M_i486) : "i486" 1130machtype: defined(M_i386) : "i386" 1131machtype: defined(M_mipsel) : "mipsel" 1132machtype: defined(M_mipseb) : "mipseb" 1133machtype: : "mips" 1134enddef : 1135 1136newdef : defined(_OSD_POSIX) 1137comment : Fujitsu Siemens Computers (former "Siemens Nixdorf Informationssysteme"): BS2000 POSIX (mainframe, EBCDIC) 1138vendor : : "fsc" 1139hosttype: : "bs2000" 1140ostype : : "osdposix" 1141machtype: #machine(7500) : "s390" 1142machtype: #machine(mips) : "mips" 1143machtype: #machine(sparc) : "sparc" 1144machtype: : "bs2000" 1145enddef : 1146 1147newdef : defined(MVS) 1148comment : ibm uss s/390 (mainframe, EBCDIC) 1149vendor : : "ibm" 1150hosttype: : "s390" 1151ostype : : "os390" 1152machtype: : "s390" 1153enddef : 1154 1155newdef : defined(_SX) 1156comment : NEC Corporation (SX-4) 1157vendor : : "nec" 1158ostype : : "superux" 1159hosttype: : "sx4" 1160machtype: : "sx4" 1161enddef : 1162 1163newdef : !defined(SOLARIS2) && (SYSVREL == 4) 1164comment : Unix System V Release 4.0 1165vendor : defined(DELL) : "dell" 1166hosttype: defined(M_i386) : "i386" 1167ostype : : "svr4" 1168machtype: defined(M_i386) : "i386" 1169enddef : 1170 1171newdef : defined(uxp) || defined(uxps) 1172comment : FUJITSU DS/90 7000 1173vendor : : "fujitsu" 1174hosttype: : "ds90" 1175ostype : : "sysv4" 1176machtype: : "sparc" 1177enddef : 1178 1179newdef : defined(CYGWIN) 1180comment : Cygwin 1181vendor : defined(M_intel) : "intel" 1182hosttype: : gethost() 1183ostype : : getostype() 1184machtype: : getmach() 1185enddef : 1186 1187newdef : defined(_UWIN) 1188comment : AT&T Research Unix for Windows 1189vendor : : "att" 1190hosttype: : "win32.i386" 1191machtype: : "i386" 1192enddef : 1193 1194 1195newdef : defined(mc68000) || defined(mc68k32) || defined(m68k) || defined(mc68010) || defined(mc68020) 1196hosttype: : "m68k" 1197vendor : defined(m68k) : "motorola" 1198machtype: : "m68k" 1199enddef : 1200 1201 1202newdef : defined(m88k) 1203hosttype: : "m88k" 1204machtype: : "m88k" 1205enddef : 1206 1207 1208newdef : defined(M_intel) 1209hosttype: defined(M_i586) : "i586" 1210hosttype: defined(M_i486) : "i486" 1211hosttype: defined(M_i386) : "i386" 1212vendor : : "intel" 1213machtype: defined(M_i586) : "i586" 1214machtype: defined(M_i486) : "i486" 1215machtype: defined(M_i386) : "i386" 1216enddef : 1217 1218 1219newdef : defined(sparc) 1220hosttype: : "sparc" 1221machtype: : "sparc" 1222enddef : 1223 1224 1225newdef : defined(i860) 1226hosttype: : "i860" 1227machtype: : "i860" 1228enddef : 1229 1230 1231newdef : defined(osf1) 1232ostype : : "osf1" 1233enddef : 1234 1235 1236newdef : SYSVREL == 0 1237ostype : defined(BSD4_4) : "bsd44" 1238ostype : defined(BSD) : "bsd" 1239ostype : defined(POSIX) : "posix" 1240enddef : 1241 1242 1243newdef : SYSVREL == 1 1244ostype : : "svr1" 1245enddef : 1246 1247 1248newdef : SYSVREL == 2 1249ostype : : "svr2" 1250enddef : 1251 1252 1253newdef : SYSVREL == 3 1254ostype : : "svr3" 1255enddef : 1256 1257 1258newdef : SYSVREL == 4 1259ostype : : "svr4" 1260enddef : 1261 1262 1263newcode : 1264#ifndef _hosttype_ 1265 hosttype = "unknown"; 1266#endif 1267#ifndef _ostype_ 1268 ostype = "unknown"; 1269#endif 1270#ifndef _vendor_ 1271 vendor = "unknown"; 1272#endif 1273#ifndef _machtype_ 1274 machtype = "unknown"; 1275#endif 1276 tsetenv(STRHOSTTYPE, str2short(hosttype)); 1277 tsetenv(STRVENDOR, str2short(vendor)); 1278 tsetenv(STROSTYPE, str2short(ostype)); 1279 tsetenv(STRMACHTYPE, str2short(machtype)); 1280} /* end setmachine */ 1281endcode : 1282