(1) http://trac.webkit.org/changeset/78382 removed JavaScriptCore/runtime/CollectorHeapIterator.h from the tree and it caused an incremental build failure, because this header wasn't added to HEADERS of JavaScriptCore.pro and qmake didn't regenerate makefile: make[1]: *** No rule to make target `../../../Source/JavaScriptCore/runtime/CollectorHeapIterator.h', needed by `obj/release/Debugger.o'. Stop. make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/home/oszi/WebKit/WebKitBuild/Release/JavaScriptCore' make: *** [sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 (2) https://bugs.webkit.org/attachment.cgi?id=82390 in https://bugs.webkit.org/show_bug.cgi?id=54415 removed Source/JavaScriptCore/runtime/GCHandle.h from the tree and it caused an incremental build failure on Qt EWS, because this header wasn't added to HEADERS of WebKit2.pro and qmake didn't regenerate makefile: make[1]: Entering directory `/home/webkit/WebKit-qt-ews/WebKitBuild/Release/WebKit2' make[1]: *** No rule to make target `../../../Source/JavaScriptCore/runtime/GCHandle.h', needed by `obj/release/ConnectionQt.o'. Stop. make[1]: Leaving directory `/home/webkit/WebKit-qt-ews/WebKitBuild/Release/WebKit2' make: *** [sub-WebKit2-WebKit2-pro-make_default-ordered] Error 2 Unfortunately non-existant dependency cause build breakage. :( I have ideas how can we fix this kind of failures: - Remove all MakeFile* from WebKitBuild before building to make qmake regenerate makefiles always - Add all header files to HEADERS. (It's hard to maintain. eg in case (2) we have to add a JavaScriptCore header to WebKit2.pro) - Create a new general header.pri for all header files and include it from all pro files What do you think about this bug?
I vote for removing Makefiles.
(In reply to comment #0) > Unfortunately non-existant dependency cause build breakage. :( > I have ideas how can we fix this kind of failures: > - Remove all MakeFile* from WebKitBuild before building to make qmake regenerate makefiles always For me this approach seams most feasible, too, since qmake rereads all project files anyhow on incremental builds and regenerating the Makefiles wouldn't cost much more time.
Created attachment 82485 [details] proposed fix Removing makefiles won. I tested the patch and works correctly without runtime penalty.
Comment on attachment 82485 [details] proposed fix > without runtime penalty. I'll trust you on that. r=me
Landed in http://trac.webkit.org/changeset/78708