[Webkit-unassigned] [Bug 196767] New: Do not generate empty unified sources when unified builds are disabled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 10 08:04:06 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=196767

            Bug ID: 196767
           Summary: Do not generate empty unified sources when unified
                    builds are disabled
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Tools / Tests
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: csaavedra at igalia.com
                CC: lforschler at apple.com

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 at 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.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190410/1c2d4fcc/attachment-0001.html>


More information about the webkit-unassigned mailing list