RESOLVED FIXED196767
Do not generate empty unified sources when unified builds are disabled
https://bugs.webkit.org/show_bug.cgi?id=196767
Summary Do not generate empty unified sources when unified builds are disabled
Claudio Saavedra
Reported 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.
Attachments
Patch (2.95 KB, patch)
2019-04-10 08:08 PDT, Claudio Saavedra
no flags
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
Claudio Saavedra
Comment 1 2019-04-10 08:08:58 PDT
EWS Watchlist
Comment 2 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
EWS Watchlist
Comment 3 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
WebKit Commit Bot
Comment 4 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>
WebKit Commit Bot
Comment 5 2019-04-10 10:53:28 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 6 2019-04-10 10:55:46 PDT
Note You need to log in before you can comment on or make changes to this bug.