aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-12-06 16:55:57 -0800
committerMartin Jansa <Martin.Jansa@gmail.com>2018-12-20 00:55:36 +0000
commitb725e6de4549221b191174bcbfc78fd57c4638e8 (patch)
tree01cfd33c47ea80f2d9b18a8290818b06bebed3e0
parent7016481c80f79e2985a87e0188ce8110568256a8 (diff)
qtbase: Consider clang when computing QMAKE_CXX.COMPILER_MACROS
Helps in compiling qtapps with clang Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase/0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch41
-rw-r--r--recipes-qt/qt5/qtbase_git.bb1
4 files changed, 44 insertions, 0 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index 77594b0b..760eb7ca 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -43,6 +43,7 @@ SRC_URI += "\
file://0016-Disable-ltcg-for-host_build.patch \
file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
file://0020-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
"
# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index 4c26d0f3..31c10ff6 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -38,6 +38,7 @@ SRC_URI += "\
file://0016-Disable-ltcg-for-host_build.patch \
file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
file://0020-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
"
# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase/0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/recipes-qt/qt5/qtbase/0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
new file mode 100644
index 00000000..01ef5b88
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
@@ -0,0 +1,41 @@
+From 7248a700e9c4ed1df41dbfcfebcd32bb6951bd36 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 6 Dec 2018 15:06:20 -0800
+Subject: [PATCH] Define QMAKE_CXX.COMPILER_MACROS for clang on linux
+
+This is required when using clang for compiler, fixes
+mkspecs/features/toolchain.prf:215: Variable QMAKE_CXX.COMPILER_MACROS is not defined.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mkspecs/features/toolchain.prf | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+Index: git/mkspecs/features/toolchain.prf
+===================================================================
+--- git.orig/mkspecs/features/toolchain.prf
++++ git/mkspecs/features/toolchain.prf
+@@ -180,6 +180,13 @@ defineReplace(qtVariablesFromGCC) {
+ return($$ret)
+ }
+
++defineReplace(qtVariablesFromCLANG) {
++ ret = $$system("$$1 $$2 -E $$system_quote($$PWD/data/macros.cpp) \
++ <$$QMAKE_SYSTEM_NULL_DEVICE 2>$$QMAKE_SYSTEM_NULL_DEVICE", lines, ec)
++ !equals(ec, 0): qtCompilerErrror($$1, $$ret)
++ return($$ret)
++}
++
+ isEmpty($${target_prefix}.COMPILER_MACROS) {
+ msvc {
+ clang_cl {
+@@ -199,6 +206,8 @@ isEmpty($${target_prefix}.COMPILER_MACRO
+ } else {
+ vars = $$qtVariablesFromMSVC($$QMAKE_CXX)
+ }
++ } else: clang {
++ vars = $$qtVariablesFromCLANG($$QMAKE_CXX, $$QMAKE_CXXFLAGS)
+ } else: gcc {
+ vars = $$qtVariablesFromGCC($$QMAKE_CXX)
+ }
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 57fa1783..e50c90f5 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -34,6 +34,7 @@ SRC_URI += "\
file://0016-Disable-ltcg-for-host_build.patch \
file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
file://0020-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
"