[webkit-dev] IDL generation: [Conditional=XXX] vs. #if defined(ENABLE_XXX)
paroga at paroga.com
Sun Jul 3 11:24:04 PDT 2011
Am 03.07.2011 um 17:33 schrieb Alexey Proskuryakov:
>> 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.
> (1) used to be the preferred solution. It's so much nicer to not have tons of #if checks at the top of cpp files.
IMHO it's not so important how _generated_ files look, because we shouldn't need to open them.
The conditionals support for attributes was added in .  is a Qt build fix from the original author and used (1).
 fixed build-webkit --minimal with (3).
(1) might simplify the build system, since we don't need condition for the IDL files, but I don't think this is a strong argument since we have the conditions for the implementations (CPP) anyway. On windows (1) also generates many "warning LNK4221: no public symbols found; archive member will be inaccessible" warnings (e.g. see logfiles of WinCE buildbot) and compiling "empty" files (after preprocessor) takes unnecessary time.
After deeper looks into our version history I personally prefer fixing the CodeGenerator (like abarth wrote).
Any opinions about changing all #if define(ENABLE_XXX) in the IDL files to [Conditional=XXX] ?
More information about the webkit-dev