[webkit-dev] On the suitability of GYP (was Re: Build system update)

Adam Barth abarth at webkit.org
Thu Mar 24 22:11:02 PDT 2011


Hi Brent,

I'm sorry you've had a bad experience.  As a WebKit contributor, you
shouldn't have to do any of the things you've listed below.  If you've
got a Mac (which it appears you do from your console output), you can
try out the nacent GYP build for the Apple Mac port as described in my
original message:

https://lists.webkit.org/pipermail/webkit-dev/2011-March/016278.html

(To summarize, run "build-webkit --gyp" instead of "build-webkit".)
I'd encourage you to try adding or removing a file from the WebCore
build, which you can do by editing this file:

http://trac.webkit.org/browser/trunk/Source/WebCore/WebCore.gypi

Note contributors are already required to make these same edits when
adding or removing a file from the project because that's the same
list of files used by the Chromium build system.  As more ports
converge on this approach, contributors have to do less work, not
more.

Hope that's helpful,
Adam


On Thu, Mar 24, 2011 at 9:49 PM, Brent Fulgham <bfulgham at gmail.com> wrote:
> Hi Dimitri,
>
> <LONG screed follows...>
>
> On Mar 24, 2011, at 9:24 AM, Dimitri Glazkov wrote:
>
>> \With the gyp conversion at this stage, we now have a possible solution
>> to this problem. Given that there aren't any other viable alternatives
>> in the present, please consider the most productive way of
>> contributing: filing well-formulated bugs, blocking bug 55018
>> (https://bugs.webkit.org/showdependencytree.cgi?id=55018&hide_resolved=1).
>> We can then discuss these specific problems and adjust the shape of
>> the solution accordingly.
>
> While I applaud the idea of a unified build system, my own experience trying to get gyp working has been a uniformly frustrating experience.
>
> Imagine for a moment that rather than being a Chromium developer, long schooled in the use of gyp and the various build components needed to support it, you are a lowly external developer who just wishes to build WebKit.  Out of curiosity, I took a stab at playing with gyp again this evening:
>
> 1. The top Google hit for "gyp build system" takes me to an exhaustive specification of the gyp input file syntax format.  If I click on the "Project Home" link, I find no information on downloading or installing the system.  Presumably I can download the source and somehow generate the tool.
>
> 2. If I go to the User Documentation page (http://code.google.com/p/gyp/wiki/GypUserDocumentation), I am instructed on how to draft my own gyp files to build things.  But why would I care when I can't even try the software out on an existing project, like WebKit?
>
> Once I download the gyp sources and 'build' them using the included "setup.py", it's not clear what to do with them:
>
> link:Source brent$ gyp .
> Traceback (most recent call last):
>  File "/usr/local/bin/gyp", line 18, in <module>
>    sys.exit(gyp.main(sys.argv[1:]))
>  File "/Library/Python/2.6/site-packages/gyp/__init__.py", line 374, in main
>    '--depth as a workaround.'
> Exception: Could not automatically locate src directory.  This is a temporary Chromium feature that will be removed.  Use --depth as a workaround.
> link:Source brent$ gyp ./gyp
> Traceback (most recent call last):
>  File "/usr/local/bin/gyp", line 18, in <module>
>    sys.exit(gyp.main(sys.argv[1:]))
>  File "/Library/Python/2.6/site-packages/gyp/__init__.py", line 374, in main
>    '--depth as a workaround.'
> Exception: Could not automatically locate src directory.  This is a temporary Chromium feature that will be removed.  Use --depth as a workaround.
> link:Source brent$ gyp help
> Traceback (most recent call last):
>  File "/usr/local/bin/gyp", line 18, in <module>
>    sys.exit(gyp.main(sys.argv[1:]))
>  File "/Library/Python/2.6/site-packages/gyp/__init__.py", line 374, in main
>    '--depth as a workaround.'
> Exception: Could not automatically locate src directory.  This is a temporary Chromium feature that will be removed.  Use --depth as a workaround.
> link:Source brent$
>
> I kind of hate gyp!
>
> Compare that to the native Xcode projects, CMake files, or normal GNU Makefiles.  These other solutions almost always JUST WORK, because if you can build any software on your machine, you must have used one of these options.
>
> I don't use gyp for anything, I don't have it installed, and its not clear how to go about using it.
>
> Please don't further raise the barrier of entry to new WebKit developers by adding yet another obscure build requirement to the system.  :-(
>
> Thanks,
>
> -Brent
>
>
>
>
> _______________________________________________
> 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