Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!rlgvax!guy From: guy@rlgvax.UUCP (Guy Harris) Newsgroups: net.lang.c,net.unix-wizards Subject: Re: Master listing of CPP symbols Message-ID: <202@rlgvax.UUCP> Date: Tue, 16-Oct-84 18:23:36 EDT Article-I.D.: rlgvax.202 Posted: Tue Oct 16 18:23:36 1984 Date-Received: Thu, 18-Oct-84 00:44:50 EDT References: <5056@root44.UUCP> Organization: CCI Office Systems Group, Reston, VA Lines: 56 > 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 ? > > 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. Unfortunately, AT&T throws in a joker; there are now 3 competing names, "mc68000", "m68000", and "m68k". Arguably, either "m68000" (which we, and I think some other people, use) or "m68k" should be used for all machines based on 68000 family CPU chips (68000, 68010, 68020) and "mc68000" used specifically to imply that it's an MC68000 chip. Precedent exists for this sort of thing; "u3b" implies a 3B, "u3b5" implies a 3B5. > 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. This could get tricky, as not all "model numbers" are numeric, and CPP can only do "#if"s on numeric values. > Would it be useful (possible) to have defines for different memory management > architectures ? What specific architectures? Paged vs. non-paged, or specific hardware? The former is nice; precedent sort of exists for this in the VMUNIX define used in some Berkeley software, except there's some software out there that thinks "VMUNIX" means "Berkeley UNIX", which it shouldn't. The latter is probably not useful, as the only software that will depend on it are parts of the OS, and #ifdefing that probably doesn't add anything (if you have to rewrite 1000 lines of code for a particular MMU - or for any other configuration change - it's probably best done by linking in different modules for different configurations). > 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: > SYS8 System 8 SYS3 (SYS5 as well ?) - or is it SYS5R3? What is System 8? It looks like Bell has reset their numbering scheme yet again, with every UNIX until 2^31-1 seconds after January 1, 1970, 0 hours GMT, being called System V. Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy