[comp.sources.d] Determining system characteristics

guy@auspex.auspex.com (Guy Harris) (01/17/91)

>Timo, there is what might be considered a better way to determine what type of
>system a given package is being compiled on.  That is, the reserved defined 
>symbols in cpp(1).

Unfortunately, in a lot of cases, people don't care whether it's running
on a 3B2 or a 3B5 or a 386 box (and especially not whether it's running
on a 486 box as opposed to a 386 box!).  They care whether it has some
particular OS feature or not, or whether some particular OS feature
works in some particular way.

Using the machine-type #defines:

	1) doesn't tell you whether the machine in question is, say,
	   running S5R3 or S5R4 - the latter has features that the former
	   doesn't;

	2) causes problems when trying to build on a machine that the
	   authors didn't know about;

	3) may not tell you what flavor of OS is being used - consider,
	   say, a BSD port to some hardware whose vendor supplies some
	   S5 port.

>If these defines are used to select Berkley/Sys V then hopefully, checking
>include files, which may change, will be unnecessary.
>
>
>Hope this is helpful,
>(It really does make porting easier...)

Really?  I tend to doubt that, for the reasons stated.  Do they, in
practice, not apply?