aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
blob: a893d90d570d55e973dda55587733b8c55bab459 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 90f1d71d609495ba305d052017df4d3fb801401c 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 | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
index 03612e5689..f227e0772e 100644
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -41,6 +41,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 {
@@ -60,6 +67,8 @@ isEmpty($${target_prefix}.COMPILER_MACROS) {
         } else {
             vars = $$qtVariablesFromMSVC($$QMAKE_CXX)
         }
+    } else: clang {
+        vars = $$qtVariablesFromCLANG($$QMAKE_CXX, $$QMAKE_CXXFLAGS)
     } else: gcc|ghs {
         vars = $$qtVariablesFromGCC($$QMAKE_CXX)
     }