1From f339005f6ee97911bd0c2ed9d9445f5aac514155 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 6 Dec 2018 15:06:20 -0800
4Subject: [PATCH] Define QMAKE_CXX.COMPILER_MACROS for clang on linux
5
6This is required when using clang for compiler, fixes
7mkspecs/features/toolchain.prf:215: Variable QMAKE_CXX.COMPILER_MACROS is not defined.
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 mkspecs/features/toolchain.prf | 9 +++++++++
13 1 file changed, 9 insertions(+)
14
15diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
16index 11ecd6b2a5..a9a65c6800 100644
17--- a/mkspecs/features/toolchain.prf
18+++ b/mkspecs/features/toolchain.prf
19@@ -41,6 +41,13 @@ defineReplace(qtVariablesFromGCC) {
20     return($$ret)
21 }
22
23+defineReplace(qtVariablesFromCLANG) {
24+    ret = $$system("$$1 $$2 -E $$system_quote($$PWD/data/macros.cpp) \
25+        <$$QMAKE_SYSTEM_NULL_DEVICE 2>$$QMAKE_SYSTEM_NULL_DEVICE", lines, ec)
26+    !equals(ec, 0): qtCompilerErrror($$1, $$ret)
27+    return($$ret)
28+}
29+
30 isEmpty($${target_prefix}.COMPILER_MACROS) {
31     msvc {
32         clang_cl {
33@@ -60,6 +67,8 @@ isEmpty($${target_prefix}.COMPILER_MACROS) {
34         } else {
35             vars = $$qtVariablesFromMSVC($$QMAKE_CXX)
36         }
37+    } else: clang {
38+        vars = $$qtVariablesFromCLANG($$QMAKE_CXX, $$QMAKE_CXXFLAGS)
39     } else: gcc|ghs {
40         vars = $$qtVariablesFromGCC($$QMAKE_CXX)
41     }
42