RESOLVED FIXED 54466
[Qt] Qt build system can't handle removing headers from tree
https://bugs.webkit.org/show_bug.cgi?id=54466
Summary [Qt] Qt build system can't handle removing headers from tree
Csaba Osztrogonác
Reported 2011-02-15 09:06:05 PST
(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?
Attachments
proposed fix (1.21 KB, patch)
2011-02-15 10:41 PST, Csaba Osztrogonác
no flags
Balazs Kelemen
Comment 1 2011-02-15 09:31:44 PST
I vote for removing Makefiles.
Andras Becsi
Comment 2 2011-02-15 09:33:22 PST
(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.
Csaba Osztrogonác
Comment 3 2011-02-15 10:41:42 PST
Created attachment 82485 [details] proposed fix Removing makefiles won. I tested the patch and works correctly without runtime penalty.
Andreas Kling
Comment 4 2011-02-16 07:42:15 PST
Comment on attachment 82485 [details] proposed fix > without runtime penalty. I'll trust you on that. r=me
Csaba Osztrogonác
Comment 5 2011-02-16 07:49:33 PST
Note You need to log in before you can comment on or make changes to this bug.