[webkit-dev] unified sources build + forwarding headers that are copies

Michael Catanzaro mcatanzaro at igalia.com
Tue Nov 14 08:09:38 PST 2017


On Tue, Nov 14, 2017 at 5:54 AM, Salisbury, Mark 
<mark.salisbury at hp.com> wrote:
> Hello,
> 
> I’m building on Windows (WPE platform, perhaps I’m the first to 
> try this!)

Wow!

> and I’m seeing some compile errors that I believe are arising from 
> previously untested combinations of source files.
> 
> If I understand unified sources build correctly, it uses a large list 
> of files and then arranges them into groups, 8 files at a time.  If I 
> have a slightly different set of files than is standard, or if 
> someone adds a new source file, the combinations of files can change.

Well, of course the combination of files can change if someone adds a 
new file. But the cross-platform files that get combined together 
should always be the same for all ports, because the bundles defined in 
Sources.txt are deterministic. Only files from the same directory get 
bundled together (they're separated by a blank line in Sources.txt) and 
if multiple bundles are used for the same directory, they should always 
be the same on all ports.

(Of course, you can also have port-specific Sources.txt files.)

> Do non-windows ports use a more intelligent method (a pointer, not a 
> file copy) for creating forwarding headers for JavaScriptCore 
> includes?

Yes, non-Windows ports #include the original file instead of copying 
the original. E.g. in 
DerivedSources/ForwardingHeaders/JavaScriptCore/ArrayBufferSharingMode.h, 
I have the following one-liner:

#include "JavaScriptCore/runtime/ArrayBufferSharingMode.h"

I'm not sure why Windows is different! See the 
WEBKIT_CREATE_FORWARDING_HEADERS macro in 
Source/cmake/WebKitMacros.cmake.

> Is the windows build the only one to use unified sources currently?

No, all ports are using it.

Michael



More information about the webkit-dev mailing list