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

Konstantin Tokarev annulen at yandex.ru
Tue Nov 14 08:21:27 PST 2017



14.11.2017, 19:10, "Michael Catanzaro" <mcatanzaro at igalia.com>:
> 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.

AFAIK Windows uses different approach because AppleWin needs to support
separate building of WTF, WebCore, and WebKit.

FWIW Qt port uses same handling of forwarding headers on all platforms.

>
>>  Is the windows build the only one to use unified sources currently?
>
> No, all ports are using it.
>
> Michael
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

-- 
Regards,
Konstantin


More information about the webkit-dev mailing list