serialize build of qtwebkit and qtwebengine
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>
Mon, 6 Feb 2017 19:48:22 +0000 (20:48 +0100)
committerKonstantin Tokarev <annulen@yandex.ru>
Thu, 6 Apr 2017 21:56:25 +0000 (21:56 +0000)
linking both at the same time requires more than my 16GB of RAM, so
introduce a .gitmodules field which serializes the two.
in practice, it is just interpreted as an optional dependency. the CI
system won't be taught about it, so this will not cause an unnecessary
serialization there.

Change-Id: I938537ebd3767a1184a5a31c4c026c70a05d499a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
.gitmodules
qt.pro

index 9bcdf4c..b4d7422 100644 (file)
@@ -72,6 +72,7 @@
 [submodule "qtwebkit"]
        depends = qtbase
        recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
+       serialize = qtwebengine
        path = qtwebkit
        url = ../qtwebkit.git
        branch = 5.6
diff --git a/qt.pro b/qt.pro
index f8d3d4d..bf510fa 100644 (file)
--- a/qt.pro
+++ b/qt.pro
@@ -26,14 +26,14 @@ for (line, lines) {
 }
 QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
 
-modules = $$sort_depends(modules, module., .depends .recommends)
+modules = $$sort_depends(modules, module., .depends .recommends .serialize)
 modules = $$reverse(modules)
 for (mod, modules) {
     equals(module.$${mod}.qt, false): \
         next()
 
     deps = $$eval(module.$${mod}.depends)
-    recs = $$eval(module.$${mod}.recommends)
+    recs = $$eval(module.$${mod}.recommends) $$eval(module.$${mod}.serialize)
     for (d, $$list($$deps $$recs)): \
         !contains(modules, $$d): \
             error("'$$mod' depends on undeclared '$$d'.")