Bug 196767 - Do not generate empty unified sources when unified builds are disabled
Summary: Do not generate empty unified sources when unified builds are disabled
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Claudio Saavedra
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-04-10 08:04 PDT by Claudio Saavedra
Modified: 2019-04-10 10:55 PDT (History)
9 users (show)

See Also:


Attachments
Patch (2.95 KB, patch)
2019-04-10 08:08 PDT, Claudio Saavedra
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews202 for win-future (12.89 MB, application/zip)
2019-04-10 10:04 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Claudio Saavedra 2019-04-10 08:04:06 PDT
If unified builds are disabled, the ruby script to generate them is still used to list the sources that need to be compiled. Currently, the script always generates bundled unified sources, even if it's being used just to list all the sources. So when the unified builds are disabled and no files are going to be bundled, the script generates one empty file per bundle manager (that is, one C++ and one ObjectiveC), that gets added to the sources to be compiled.

claudio@weichafe:~/git/gnome/WebKit$ ls WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/ -lh
total 0
-rw-r--r-- 1 claudio claudio 0 Apr 10 18:01 UnifiedSource-da39a3ee-1.cpp
-rw-r--r-- 1 claudio claudio 0 Apr 10 18:01 UnifiedSource-da39a3ee-1-mm.mm

This goes unnoticed, unless you don't have a ObjectiveC compiler installed, like in my case:

/usr/lib/ccache/c++  -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/home/claudio/git/gnome/WebKit/WebKitBuild/DependenciesGTK/Root/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_COMPILATION -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -IDerivedSources/ForwardingHeaders/JavaScriptCore/glib -IDerivedSources/JavaScriptCore/javascriptcoregtk/jsc -I../../Source/JavaScriptCore/API/glib -IDerivedSources/JavaScriptCore/javascriptcoregtk -I../../Source/JavaScriptCore/inspector/remote/glib -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -isystem ../DependenciesGTK/Root/include/glib-2.0 -isystem ../DependenciesGTK/Root/lib/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -O3 -DNDEBUG -fPIC   -ffp-contract=off -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da39a3ee-1-mm.mm.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da39a3ee-1-mm.mm.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da39a3ee-1-mm.mm.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da39a3ee-1-mm.mm
c++: error trying to exec 'cc1objplus': execvp: No such file or directory
ninja: build stopped: subcommand failed.

I think it would make sense not to go through the bundle managers at all if the script is being used only to list the sources, and therefore avoid generating empty unified source files.
Comment 1 Claudio Saavedra 2019-04-10 08:08:58 PDT
Created attachment 367122 [details]
Patch
Comment 2 EWS Watchlist 2019-04-10 10:04:20 PDT
Comment on attachment 367122 [details]
Patch

Attachment 367122 [details] did not pass win-ews (win):
Output: https://webkit-queues.webkit.org/results/11829863

New failing tests:
js/dom/custom-constructors.html
Comment 3 EWS Watchlist 2019-04-10 10:04:40 PDT
Created attachment 367133 [details]
Archive of layout-test-results from ews202 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews202  Port: win-future  Platform: CYGWIN_NT-6.1-2.10.0-0.325-5-3-x86_64-64bit
Comment 4 WebKit Commit Bot 2019-04-10 10:53:26 PDT
Comment on attachment 367122 [details]
Patch

Clearing flags on attachment: 367122

Committed r244135: <https://trac.webkit.org/changeset/244135>
Comment 5 WebKit Commit Bot 2019-04-10 10:53:28 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2019-04-10 10:55:46 PDT
<rdar://problem/49781801>