<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 13, 2013 at 12:31 PM, Tony Mountifield <span dir="ltr">&lt;<a href="mailto:tony@softins.co.uk" target="_blank">tony@softins.co.uk</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Matt, thanks for the reply and the ideas. I&#39;ll give them some thought.<br>
<br>
Another idea I had was to pass the .c file through cpp when extracting<br>
the XML. I haven&#39;t yet studied what happens in the Makefile to see<br>
whether this is a possibility.<br>
<br>
Cheers<br>
Tony<br></blockquote></div></div><br></div>Please note that the documentation in the .c file is in a C comment so preprocessing<br>will not work.<br><br>Richard<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Jun 13, 2013 at 12:31 PM, Tony Mountifield <span dir="ltr">&lt;<a href="mailto:tony@softins.co.uk" target="_blank">tony@softins.co.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Matt, thanks for the reply and the ideas. I&#39;ll give them some thought.<br>
<br>
Another idea I had was to pass the .c file through cpp when extracting<br>
the XML. I haven&#39;t yet studied what happens in the Makefile to see<br>
whether this is a possibility.<br>
<br>
Cheers<br>
Tony<br>
<br>
In article &lt;<a href="mailto:CAN2PU%2B7VOoM790m69ouHNG6FOY057U00gC%2BfUAVxR15DAvvSYQ@mail.gmail.com">CAN2PU+7VOoM790m69ouHNG6FOY057U00gC+fUAVxR15DAvvSYQ@mail.gmail.com</a>&gt;,<br>
<div class="HOEnZb"><div class="h5">Matthew Jordan &lt;<a href="mailto:mjordan@digium.com">mjordan@digium.com</a>&gt; wrote:<br>
&gt; On Thu, Jun 13, 2013 at 4:12 AM, Tony Mountifield &lt;<a href="mailto:tony@softins.co.uk">tony@softins.co.uk</a>&gt;wrote:<br>
&gt;<br>
&gt; &gt; I have been porting some of my custom modifications to app_meetme from 1.2<br>
&gt; &gt; to<br>
&gt; &gt; Asterisk 11 (yes, I know about ConfBridge - that&#39;s for later<br>
&gt; &gt; investigation).<br>
&gt; &gt;<br>
&gt; &gt; I have some of my modifications conditionally included using #ifdef.<br>
&gt; &gt;<br>
&gt; &gt; In 1.2, I could use #ifdef conditions to control the contents of the<br>
&gt; &gt; application help in static const char *descrip, like this:<br>
&gt; &gt;<br>
&gt; &gt; static const char *descrip =<br>
&gt; &gt; &quot;  MeetMe([confno][,[options][,pin]]): Enters the user into a specified<br>
&gt; &gt; MeetMe conference.\n&quot;<br>
&gt; &gt; .......<br>
&gt; &gt; &quot;      &#39;F&#39; -- Pass DTMF through the conference.\n&quot;<br>
&gt; &gt; #ifdef LOCKHOLD<br>
&gt; &gt; &quot;      &#39;h&#39; -- Locked conference keeps user on hold instead of exiting.\n&quot;<br>
&gt; &gt; #endif<br>
&gt; &gt; &quot;      &#39;i&#39; -- announce user join/leave\n&quot;<br>
&gt; &gt; .......<br>
&gt; &gt;<br>
&gt; &gt; However, in Asterisk 11, it appears that the application help is generated<br>
&gt; &gt; from the XML in the DOCUMENTATION comments. Putting #ifdef within that does<br>
&gt; &gt; not seem to have any effect. Everything gets included.<br>
&gt; &gt;<br>
&gt; &gt; So my question is, how can I make conditional variations in the application<br>
&gt; &gt; help that is compiled?<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m really hoping that the answer isn&#39;t just a blunt &quot;you can&#39;t&quot;...<br>
&gt; &gt;<br>
&gt; Alas, that is the case.<br>
&gt;<br>
&gt; In general, we&#39;ve taken the approach to use compile time options as little<br>
&gt; as possible. We try hard to relegate their usage only to cases that prevent<br>
&gt; compilation issues when module dependencies aren&#39;t present. I&#39;d speculate<br>
&gt; that a patch that proposed an application parameter that was optionally<br>
&gt; included at compile time would most likely not be accepted for inclusion in<br>
&gt; mainline Asterisk. Hence, this idea is not something we built into the XML<br>
&gt; documentation generation - we&#39;ve never had a use case for it.<br>
&gt;<br>
&gt; A few possible options:<br>
&gt;<br>
&gt; The first would be to not have application options be determined at compile<br>
&gt; time.<br>
&gt;<br>
&gt; The second would be to modify the XML parser in xmldoc.c to pass over<br>
&gt; elements if an attribute is present on the XML element. It would be an<br>
&gt; additional step to &#39;include&#39; the documentation if you choose to compile<br>
&gt; Asterisk; however it would at least give you the ability to toggle on/off a<br>
&gt; particular element.<br>
&gt;<br>
&gt; Another option would be to have a script that updates the produced<br>
&gt; doc-en_US.xml file with the documentation if someone has enabled the build<br>
&gt; option. The script could read in the XML DOM, update the contents, and<br>
&gt; re-write the file. Asterisk determines the documentation by reading this<br>
&gt; file on startup, so you can manipulate it outside of the source and the<br>
&gt; build process.<br>
&gt;<br>
&gt; Matt<br>
&gt;<br>
&gt; --<br>
&gt; Matthew Jordan<br>
&gt; Digium, Inc. | Engineering Manager<br>
&gt; 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>
&gt; Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> &amp; <a href="http://asterisk.org" target="_blank">http://asterisk.org</a><br>
</div></div><div class="HOEnZb"><div class="h5">--<br>
Tony Mountifield<br>
Work: <a href="mailto:tony@softins.co.uk">tony@softins.co.uk</a> - <a href="http://www.softins.co.uk" target="_blank">http://www.softins.co.uk</a><br>
Play: <a href="mailto:tony@mountifield.org">tony@mountifield.org</a> - <a href="http://tony.mountifield.org" target="_blank">http://tony.mountifield.org</a><br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br></div>