[webkit-dev] Towards a unified build system

Adam Barth abarth at webkit.org
Tue Mar 1 14:06:36 PST 2011


On Tue, Mar 1, 2011 at 1:57 PM, Maciej Stachowiak <mjs at apple.com> wrote:
> On Mar 1, 2011, at 11:07 AM, Adam Barth wrote:
>> On Tue, Mar 1, 2011 at 9:33 AM, Maciej Stachowiak <mjs at apple.com> wrote:
>>> Another consequence of step 3 is it would break submissions to Apple's central build system, since those pull from the repository with vanilla SVN and do not run special scripts afterwards.
>>
>> I don't fully understand the constraints of Apple's central build
>> system.  It might be worthwhile talking over the constraints with
>> someone who's an expert.
>>
>> If the requirements are that the entry point to the build system is an
>> xcodeproj, we can create an xcodeproj with an action that creates the
>> other xcodeproj files and then defers to the generated projects as
>> dependencies.  I haven't tested this approach, but I suspect we'll
>> find something that satisfies the Apple-internal constraints.
>
> It needs to be either an xcodeproj or a Makefile. Also, all tools required for building have to be either be part of the OS, or part of what is submitted for the given project. So if gyp scripts need to execute at build time, they'd either have to be checked in to the WebKit repository, or get added to Mac OS X.

We can certainly use a Makefile to kick off the build.  The GYP system
itself is just a handful of BSD-licensed Python scripts, so I wouldn't
expect any trouble with checking them into svn.webkit.org.

> I asked Mark Rowe about this and he says the current gyp-generated Xcode projects would not build in Apple's central build system at all, so I guess that hurdle would need to be cleared before we even replace the existing checked-in xcodeproj files. Mark is probably our top expert on how Apple's build system works.

It would be helpful to understand why that's the case.  We can certain
improve the xcodeproj backend until it generates project files that
work with Apple's internal build system.  The current xcode backend is
only 1000 lines of Python.  We could re-write it from scratch if
needed.

Adam


More information about the webkit-dev mailing list