On Fri, Mar 25, 2011 at 10:59 AM, Maciej Stachowiak <m...@apple.com> wrote:
>
> In addition to your comments, I also find the gyp syntax somewhat unpleasant. 
> In particular, in .gypi lists of files to compile, ever entry is 
> double-quoted, comma-separated, line-separated, and then grouped in multiple 
> levels of braces. This is noisier than any of our current formats except the 
> XML-based ones. It seems like a newline-separated list, possibly indented, 
> should be sufficient.
>
> For .gyp files themselves, I admit I don't have a clear understanding of what 
> they are actually doing, so it's hard for me to say if the syntax they use is 
> good or not.
>
> I think in general the trick of making the files essentially Python code is 
> (presumably) handy for Python experts but not easy to read for anyone else.

It's just python directory literals, which is virtually identical to json.

Nico

>
> But I am assuming syntax-level things can be fixed once we have things 
> working for more ports, and doesn't necessarily need to be a showstopper to 
> initial adoption. Perhaps after successfully deploying gyp for one additional 
> port, the right next steps are to make sure the experience is smooth and 
> enjoyable for WebKit hackers, before propagating it further.
>
> Regards,
> Maciej
>
> On Mar 24, 2011, at 9:49 PM, Brent Fulgham 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@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to