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