From: Bruce Evans (bde@runx.oz.au)
Date: 11/12/91


Subject: Re:  Header structure for mixed Classic/ANSI
Date: Wed, 13 Nov 1991 00:28:25 +1100
From: Bruce Evans <bde@runx.oz.au>


>Lars Wirzenius writes:
>
>Wouldn't it be easier to make two header trees:
>
> /usr/include/ansi
> /usr/include/classic
>
>and either use the -I option to select which tree is used, or put

No. Who adds -I to 1001 makefiles?

Who keeps all the versions up to date? There probably have to be minor
variations for classic-compiler1, classic-compiler2...

I use _P((arglist)) to hyde prototype args and don't think it is particularly
obscure.

>files like this:
>
>#if __STDC__ == 1 /* not: not just ifdef; see comp.lang.c FAQ */
># include <ansi/foo.h>
>#else
># include <classic/foo.h>
>#endif

It's not clear what happens to the header names if the user has maliciously
#defined ansi, classic, foo and h :-).

I think something like #include <__implementation.h> is required in many
header files. Just deciding what is quasi-STDC takes a lot of ifdefs.

Bruce