Master listing of CPP symbols

Alain Williams addw at root44.UUCP
Sat Oct 20 18:06:28 AEST 1984


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.
	<UK-net>!{hirst1|qmc-sc|edai|west44|ukc|glasgow|ist}!root44!{addw|njh}
	root44!{rootcl|rootis}!{addw|njh}



More information about the Comp.lang.c mailing list