[webkit-dev] IDL generation: [Conditional=XXX] vs. #if defined(ENABLE_XXX)
Patrick Gansterer
paroga at paroga.com
Sun Jul 3 02:43:59 PDT 2011
> Does this cause a concrete problem?
That's the only problem I had, when I compiling with !ENABLE(DATABASE).
IMO we don't require a new buildslave for this. Instead that's a more general problem.
I think we will see the same problem for ENABLE(SVG) on the Qt minimal bot when we change the #if ENABLE_SVG to [Conditional=SVG].
> I guess there are some configurations that don't build?
Yes, but they are usually easy to fix. (see !ENABLE(SVG_ANIMATION) fix with http://trac.webkit.org/changeset/90106)
IMHO the problem with the IDL generation is a more general, because it can happen not only with one configuration.
- Patrick
Am 03.07.2011 um 11:29 schrieb Adam Barth:
> Does this cause a concrete problem? I guess there are some
> configurations that don't build? Generally, configurations without
> buildbot won't actually build. The Qt minimal bot helps keep us
> honest in this regard, but I suspect there are lots of configurations
> that don't actually build.
>
> Adam
>
>
> On Sun, Jul 3, 2011 at 2:12 AM, Patrick Gansterer <paroga at paroga.com> wrote:
>> IMO [Conditional=XXX] does not generate correct output (only tried JSC). It adds top many header includes.
>>
>> Example with DOMWindow.idl:
>> The line
>> attribute [Conditional=DATABASE] SQLExceptionConstructor SQLException;
>> adds #include "JSSQLException.h" independently of ENABLE_DATABASE.
>>
>> The lines
>> #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
>> attribute SQLExceptionConstructor SQLException;
>> #endif
>> generate the #include only if ENABLE_DATABSE is true.
>>
>> If we add "JSSQLException.h" unconditionally we also need to generate the corresponding IDL all the time.
>>
>> I see three possible solutions:
>> 1) Always generate all IDL files.
>> 2) Change all [Conditional=XXX] to #if define(ENABLE_XXX).
>> 3) Add the correct #if ENABLE(XXX) around the header includes.
>>
>> BTW: Should we unify the #if defined(ENABLE_XXX) and [Conditional=XX] in all IDL files?
>>
>> - Patrick
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>
More information about the webkit-dev
mailing list