Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site root44.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!mcvax!ukc!hirst1!root44!addw From: addw@root44.UUCP (Alain Williams) Newsgroups: net.lang.c,net.unix-wizards Subject: Re: Master listing of CPP symbols Message-ID: <5056@root44.UUCP> Date: Sat, 20-Oct-84 04:06:28 EDT Article-I.D.: root44.5056 Posted: Sat Oct 20 04:06:28 1984 Date-Received: Wed, 17-Oct-84 07:48:56 EDT Organization: Root Computers Ltd., London Lines: 78 Xref: mcvax 0 net.lang.c:1927 net.unix-wizards:6304 The following was prepared & just about to go when I read John Rogers' article. This list has is a compilation of what we have seen in use. Oh no, not someone else trying to force their standards on me !! Well no. Since I try to make my software run on all sorts of things & being a lazy sod I don't like to have to go back over stuff that I have done. Therefor I am collecting a list of what #defines are used so that I can use the same ones as everyone else; -- you all DO use the same ones -don't you ? Anyway, if you don't like standards -don't waste time reading this, -go & program for YOUR machine. These symbols would, ideally, be defined by cpp, though if not a -D option would take care of it. Hardware #define Machine vax vax m/c pdp11 pdp11's mc68000 68000 CPUs I gather that some people use m68000, how widespread is this ? Can we agree on one or the other as a standard. z8000 z8000s u3b 3b2, 3b20 etc u370 IBM 370 ns16032 Nat Semis M/C Or is it ns32016 this week? i80286 Intel 80286 OK, I've missed out your favourite hardware; so mail me & tell me what it is, & what #define you use. It has been suggested that some of the above have specific values (other than 1). Thus on a pdp11/44, pdp11 would have a value of 44. Thus in the few places where the actual cpu mattered (eg I/O, memory management), appropriate compile tests could be made. Would it be useful (possible) to have defines for different memory management architectures ? Software I have got an implies section here. The idea is that one piece of software looks sufficiently like another, so rather than going round adding the #define when a new release come along, we only need change the places where there is a difference. Thus SYS5 implies SYS3, as most of System 5 looks like System 3. Maybe there should be a USG implying SYS3 (but not SYS5). #define: O/S Implies -ie also defined: V7 Edition 7 V8 Edition 8 SYS3 System 3 SYS5 System 5 SYS3 SYS5R2 System 5.2 SYS3 SYS5 SYS8 System 8 SYS3 (SYS5 as well ?) - or is it SYS5R3? BSD2_8 Berkeley 2.8 BSD2_9 Berkeley 2.9 BSD4_1 Berkeley 4.1 BSD4_2 Berkeley 4.2 SYS5onBSD4_2 SYS5 emulation SYS5 SYS3 under BSD4.2 as by DA Gwyn of BRL ZEUS Zeus UNIPLUS Uniplus XENIX Xenix (Last and least) unix I'm not sure what look-alikes this includes Misc xxONVAX Means that the result is intended for machine xx but it is being compiled on a vax. Are a whole lot more like this needed. (This sort of thing is only of interest in compiling cross compilers) IEEE IEEE floating point emulation. Alain Williams, Nigel Horne, Root Computers Ltd, London, England.!{hirst1|qmc-sc|edai|west44|ukc|glasgow|ist}!root44!{addw|njh} root44!{rootcl|rootis}!{addw|njh}