Cut some build dependencies master_201209090725
authorCorentin Jabot <corentinjabot@gmail.com>
Mon, 30 Jul 2012 09:36:21 +0000 (11:36 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 8 Sep 2012 21:18:52 +0000 (23:18 +0200)
A lot of modules had a hard depency on qtdeclarative
(for extra qml components or qml examples).

Now, these modules can be build without the need of qtdeclarative.
These modules are:
qttools (since 3b9ac2dc08310aa13b121274afea130fa4f7c6f8 )
qtmultimedia (since 02f144ba6f50bb7d404e2808b9bb4fa32a206aea )
qtsystems (since 12408d021af8b9f8e0afad7ae67f389974ed0607 )
qtlocation (since fa404bfb7a83ecb01deb4df16d5ac72a8c5ab066 )
qtsensors ( since 3c069e5e4a720582f37f0b2d053d19632f6ddfe2 )

Also, useless dependencies are cut, and the dependencies declared
in build.dependencis mirror more accurately what is done is qt.pro

Those modifications allow an easier and faster build for people who
do not use qml.

Note that qtdelarative will still be needed to build the tests
of each of the modules listed above

Change-Id: Icf7711c07d041b8ef836f213fadeebb9328877d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
build.dependencies
qt.pro

index 80c219b..a979bf0 100644 (file)
@@ -17,16 +17,16 @@ use Config;
     "qtgraphicaleffects" => "qtbase,qtdeclarative,qtxmlpatterns",
     "qtimageformats" => "qtbase",
     "qtjsbackend" => "qtbase",
-    "qtlocation" => "qtbase,qtdeclarative,qt3d",
-    "qtmultimedia" => "qtbase,qtdeclarative",
+    "qtlocation" => "qtbase,qtdeclarative:s,qt3d",
+    "qtmultimedia" => "qtbase,qtdeclarative:s",
     "qtpim" => "qtdeclarative",
     "qtqa" => "qtbase",
     "qtquick1" => "qtbase,qtscript,qtxmlpatterns,qttools,qtsvg:s",
     "qtscript" => "qtbase",
-    "qtsensors" => "qtbase,qtdeclarative",
+    "qtsensors" => "qtbase,qtdeclarative:s",
     "qtsvg" => "qtbase",
-    "qtsystems" => "qtbase,qtdeclarative",
-    "qttools" => "qtbase,qtdeclarative,qtwebkit:s",
+    "qtsystems" => "qtbase,qtdeclarative:s",
+    "qttools" => "qtbase,qtdeclarative:s,qtwebkit:s",
     "qttranslations" => "qttools",
     "qtwebkit" => "qtbase,qtscript,qtdeclarative,qtquick1,qtlocation",
     "qtwebkit-examples-and-demos" => "qtwebkit",
@@ -55,7 +55,7 @@ if ("$Config{osname}" =~ /mswin/i) {
 # Platform specific modules
 
 if ("$Config{osname}" =~ /linux/i) {
-    $build_dependencies{"qtwayland"} = "qtbase,qtdeclarative";
+    $build_dependencies{"qtwayland"} = "qtbase,qtdeclarative:s";
 }
 
 if ("$Config{osname}" =~ /(ms|cyg)win/i) {
diff --git a/qt.pro b/qt.pro
index 730008e..63d31f2 100644 (file)
--- a/qt.pro
+++ b/qt.pro
@@ -41,7 +41,7 @@ module_qtwebkit_examples_and_demos.depends = module_qtwebkit module_qttools
 
 module_qttools.subdir = qttools
 module_qttools.target = module-qttools
-module_qttools.depends = module_qtbase module_qtdeclarative
+module_qttools.depends = module_qtbase
 
 module_qttranslations.subdir = qttranslations
 module_qttranslations.target = module-qttranslations
@@ -65,19 +65,19 @@ module_qtqa.depends = module_qtbase
 
 module_qtlocation.subdir = qtlocation
 module_qtlocation.target = module-qtlocation
-module_qtlocation.depends = module_qtbase module_qtdeclarative module_qt3d
+module_qtlocation.depends = module_qtbase
 
 module_qtsensors.subdir = qtsensors
 module_qtsensors.target = module-qtsensors
-module_qtsensors.depends = module_qtbase module_qtdeclarative
+module_qtsensors.depends = module_qtbase
 
 module_qtsystems.subdir = qtsystems
 module_qtsystems.target = module-qtsystems
-module_qtsystems.depends = module_qtbase module_qtdeclarative
+module_qtsystems.depends = module_qtbase
 
 module_qtmultimedia.subdir = qtmultimedia
 module_qtmultimedia.target = module-qtmultimedia
-module_qtmultimedia.depends = module_qtbase module_qtdeclarative
+module_qtmultimedia.depends = module_qtbase
 
 module_qtfeedback.subdir = qtfeedback
 module_qtfeedback.target = module-qtfeedback
@@ -97,7 +97,7 @@ module_qtconnectivity.depends = module_qtsystems
 
 module_qtwayland.subdir = qtwayland
 module_qtwayland.target = module-qtwayland
-module_qtwayland.depends = module_qtbase module_qtdeclarative
+module_qtwayland.depends = module_qtbase
 # not yet enabled by default
 module_qtwayland.CONFIG = no_default_target no_default_install
 
@@ -133,8 +133,20 @@ exists(qtxmlpatterns/qtxmlpatterns.pro) {
 }
 
 exists(qtjsbackend/qtjsbackend.pro): SUBDIRS += module_qtjsbackend
-exists(qtdeclarative/qtdeclarative.pro): SUBDIRS += module_qtdeclarative
-exists(qt3d/qt3d.pro): SUBDIRS += module_qt3d
+exists(qtdeclarative/qtdeclarative.pro) {
+    SUBDIRS += module_qtdeclarative
+    # These modules do not require qtdeclarative, but can use it if it is available
+    module_qttools.depends += module_qtdeclarative
+    module_qtsensors.depends += module_qtdeclarative
+    module_qtsystems.depends += module_qtdeclarative
+    module_qtmultimedia.depends += module_qtdeclarative
+    module_qtwayland.depends += module_qtdeclarative
+}
+exists(qt3d/qt3d.pro) {
+    SUBDIRS += module_qt3d
+    # These modules do not require qt3d, but can use it if it is available
+    module_qtlocation.depends += module_qtdeclarative module_qt3d
+}
 exists(qtscript/qtscript.pro): SUBDIRS += module_qtscript
 exists(qtlocation/qtlocation.pro) {
     SUBDIRS += module_qtlocation