Conditional compilation and DDoc
Derek Parnell
derek at nomail.afraid.org
Thu Aug 17 17:09:37 PDT 2006
On Thu, 17 Aug 2006 13:21:32 +0200, Lutger wrote:
> Lutger wrote:
>> Derek Parnell wrote:
>>> I'm having trouble producing conditional documentation.
>>>
>>> Here's what I'm doing ...
>>>
>>> version(XYZZY)
>>> {
>>> /**
>>> * macros:
>>> * Extra = If you access this when the value is not set,
>>> * an exception is thrown.
>>> */
>>> }
>>> module foo_m;
>>> /**
>>> * Defines the capabilities and attributes of a Foo.
>>> *
>>> * $(Extra)
>>> */
>>> class Foo
>>> {
>>> . . .
>>> }
>>>
>>> This doesn't work because the 'module' statement must be the first
>>> statement and the earlier version statement messes that up.
>>>
>>> If I move the module to above the version statement, the macro doesn't
>>> get
>>> defined.
>>>
>>> Anyone got any ideas about how to produce conditional DDoc documentation
>>> without duplicating a lot of source code?
>>>
>>
>> I can't get this to work either. I can think of one, less than ideal
>> workaround (haven't tried it yet): using build, move the macro's to ddoc
>> files and then use something like this:
>> version (Foo)
>> {
>> version (build) { pragma(include, macros\foo.ddoc); }
>> else pragma(msg, "warning, foo doc macro not included, use build");
>> }
>
> It works, thanks to build.
Confirmed. Using Build to include the macro Ddoc file works.
--
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
18/08/2006 10:08:51 AM
More information about the Digitalmars-d-learn
mailing list