Patchwork qt4: fix QMAKE_QT_CONFIG being overwritten with empty value

login
register
mail settings
Submitter Jonathan Liu
Date June 6, 2013, 3:19 a.m.
Message ID <1370488763-20641-1-git-send-email-net147@gmail.com>
Download mbox | patch
Permalink /patch/51195/
State Accepted
Commit 5330905749828ea8befdee559c180754ac506b75
Headers show

Comments

Jonathan Liu - June 6, 2013, 3:19 a.m.
QMAKE_QT_CONFIG is set by the linux-oe-g++ mkspec but it is overwritten
with an empty value read from .qmake.cache. Avoid this by first checking
if the value from .qmake.cache is not empty before assigning it to
QMAKE_QT_CONFIG.

This allows variables from qconfig.pri such as QT_ARCH, QT_CONFIG,
QT_VERSION, etc. to be queried by qmake projects.

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
 meta/recipes-qt/qt4/qt4-4.8.4.inc                  |  1 +
 ...verwrite-QMAKE_QT_CONFIG-with-empty-value.patch | 39 ++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 meta/recipes-qt/qt4/qt4-4.8.4/0026-Don-t-overwrite-QMAKE_QT_CONFIG-with-empty-value.patch

Patch

diff --git a/meta/recipes-qt/qt4/qt4-4.8.4.inc b/meta/recipes-qt/qt4/qt4-4.8.4.inc
index ce12b1e..e87dacc 100644
--- a/meta/recipes-qt/qt4/qt4-4.8.4.inc
+++ b/meta/recipes-qt/qt4/qt4-4.8.4.inc
@@ -25,6 +25,7 @@  SRC_URI = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-sr
            file://0023-qtnetwork-blacklist-two-more-certificates.patch \
            file://0024-Change-all-shmget-calls-to-user-only-memory.patch \
            file://0025-Remove-unnecessary-typedef-found-by-gcc4-8.patch \
+           file://0026-Don-t-overwrite-QMAKE_QT_CONFIG-with-empty-value.patch \
            file://g++.conf \
            file://linux.conf \
            "
diff --git a/meta/recipes-qt/qt4/qt4-4.8.4/0026-Don-t-overwrite-QMAKE_QT_CONFIG-with-empty-value.patch b/meta/recipes-qt/qt4/qt4-4.8.4/0026-Don-t-overwrite-QMAKE_QT_CONFIG-with-empty-value.patch
new file mode 100644
index 0000000..a37e35f
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.4/0026-Don-t-overwrite-QMAKE_QT_CONFIG-with-empty-value.patch
@@ -0,0 +1,39 @@ 
+From 1c75ea0332054c420efd676c147e45eee43e0118 Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Thu, 6 Jun 2013 12:42:13 +1000
+Subject: [PATCH] Don't overwrite QMAKE_QT_CONFIG with empty value
+
+If the mkspec sets QMAKE_QT_CONFIG, QMAKE_QT_CONFIG may be overwritten
+with an empty value from .qmake.cache. Avoid this by first checking
+if the value from .qmake.cache is not empty before assigning it to
+QMAKE_QT_CONFIG.
+
+Upstream-Status: Submitted
+https://codereview.qt-project.org/#change,58109
+
+Change-Id: I95fa630139b8798156a2fb15d0dde630a0a53a0a
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+---
+ mkspecs/features/qt_config.prf | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf
+index fc14cdd..e059b7e 100644
+--- a/mkspecs/features/qt_config.prf
++++ b/mkspecs/features/qt_config.prf
+@@ -1,7 +1,11 @@
+ # This file is loaded by the mkspecs, before .qmake.cache has been loaded.
+ # Consequently, we have to do some stunts to get values out of the cache.
+ 
+-exists($$_QMAKE_CACHE_):QMAKE_QT_CONFIG = $$fromfile($$_QMAKE_CACHE_, QMAKE_QT_CONFIG)
++exists($$_QMAKE_CACHE_) {
++   qdd = $$fromfile($$_QMAKE_CACHE_, QMAKE_QT_CONFIG)
++   !isEmpty(qdd): QMAKE_QT_CONFIG = $$qdd
++   unset(qdd)
++}
+ isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) {
+    qdd = $$QT_BUILD_TREE
+    isEmpty(qdd):exists($$_QMAKE_CACHE_): qdd = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
+-- 
+1.8.2.3
+