From b725e6de4549221b191174bcbfc78fd57c4638e8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Dec 2018 16:55:57 -0800 Subject: qtbase: Consider clang when computing QMAKE_CXX.COMPILER_MACROS Helps in compiling qtapps with clang Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 1 + recipes-qt/qt5/qtbase-native_git.bb | 1 + ...KE_CXX.COMPILER_MACROS-for-clang-on-linux.patch | 41 ++++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 4 files changed, 44 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0021-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch 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 +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 +--- + 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 \ " -- cgit v1.2.3