[webkit-dev] [webkit meeting notes] build systems

Ojan Vafai ojan at chromium.org
Fri Apr 16 09:26:03 PDT 2010


This seems like just a more restricted version of gyp to me. And one that
isn't sufficiently powerful, e.g., what if a platform decides to disable SVG
and doesn't want to compile SVG files? You end up adding some sort of syntax
for that. In the end, you have something that's 90% of the way to a gyp file
and now we have yet another build system.

Whether the build file generation happens when you sync versus when the
person adding the file makes the change is also flexible with gyp. We could
very well use gyp to generate the build files for each platform and check
that in. I don't actually think that's a good idea though. The risk of build
files and gyp files getting out of sync is not worth it.

Ojan

On Fri, Apr 16, 2010 at 8:09 AM, Nikolas Zimmermann <
zimmermann at physik.rwth-aachen.de> wrote:
>
> Am 16.04.2010 um 16:44 schrieb Adam Treat:
>
>> I am very skeptical that it is feasible to write a gyp generator that
>> would
>> output QMake files.  There is a log of magic in those QMake files.  My
>> sense is
>> that it would not be trivial by any means.
>>
>> Plus, I don't like the idea of a meta-meta generators.  Seems way to
>> mickey-
>> mouse to me.
>>
>
> Agreed to a certain degree. Using gyp/whatever to generate qmake files, to
> generate Makefile/Xcode files etc seems akward to me as well.
>
> What we really need to resolve is adding/removing files from compilation,
> that's the most common
> task that has to be done in 5+ build systems at the moment. So I have a new
> proposal:
>
> 1) Maintain a list of headers/source files to be compiled for ALL platforms
> (ie. dom/Node.cpp, etc..)
>
> 2) Keep all existing Makefile.am, WebCore.pro etc files as "templates", ie.
> WebCore.pro.template, with a special
>    variable somewhere marking the $$HEADER_LIST$$ and the $$SOURCE_LIST$$
>
> 3) Use a script that generates individual build files (eg. WebCore.pro)
> from WebCore.pro.template, it only
>    needs to insert the file list with the correct syntax in the correct
> places
>
> 4) Keep all platform specific files to be compiled in the individual build
> system files (eg. WebCore.pro.template)
>
> I think we'll never find a consensus on a single build system, there are
> too many different needs. I only care
> about the most repetitive work in order to keep the build system up2date:
> adding/removing cross-platform files.
>
> Of course this is some kind of meta-meta build system, but we could also
> agree to move the "template" files in a WebCore/build-templates
> folder and run a "update-project-files" script after adding/remove files,
> that generates the build files, like WebCore.pro and commit them.
> This way only the person who added/removed a file from build would need to
> run that script, instead of every one, this would effectively
> hide the "meta-meta" build system.
>
> If we find an acceptable solution for just adding/removing cross-platform
> buildable files that it would already make me happy :-)
>
> Looking for comments!
> Niko
>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20100416/da9604ce/attachment.html>


More information about the webkit-dev mailing list