new/yocto/meta-qt5/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch

42 lines
1.4 KiB
Diff
Raw Permalink Normal View History

2025-05-10 21:58:58 +08:00
From f339005f6ee97911bd0c2ed9d9445f5aac514155 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 11ecd6b2a5..a9a65c6800 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)
}