[fpc-pascal] undefining multiple defines

Marc Santhoff M.Santhoff at t-online.de
Thu Mar 3 01:56:47 CET 2005

Am Do, den 03.03.2005 schrieb Jeff Miller um 13:56:
> > I'm using several defines like this:
> > 
> > {$define M1}
> > { $define M2}
> > { $define M3}
> > { $define M4}
> > 
> > Any time I have to change them, I have to touch all one by one, because
> > they're mutually exclusive.
> > 
> > Or a better basic approach? 
> Maybe I am missing something, but why not just have a single define statement, which you change to 
> define the one symbol that you want for the current compile? If they are mutually exclusive, you 
> never need more than one define, right?

No, you don't. Thinking about it a little longer makes sense sometimes
(I'll do next time ;). And explaning the complete problem does, too.

These defines are used several times spread over a bunch of units. It is
possible to use one in unit a and another one in unit b. What i want to
achive is to undefine any previously set defines and be sure there is
only one of them active.

this is used to include some dependant functions from only one central
include file holding all possible versions. And it has to work from the
command line or makefile.

unit a;
{$define M1}

unit b;
{$undef M1-M15}
{$define M2}


More information about the fpc-pascal mailing list