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.
Created attachment 367122 [details] Patch
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
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 on attachment 367122 [details] Patch Clearing flags on attachment: 367122 Committed r244135: <https://trac.webkit.org/changeset/244135>
All reviewed patches have been landed. Closing bug.
<rdar://problem/49781801>