summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2025-09-24 13:08:28 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-09-25 11:09:04 +0100
commit47f1496eb91ac4a4e30df25acff16aead7fd3d2d (patch)
treea2a122bbc953b3369d99408d31dca9b7dc95a11c /meta
parent52df55540552c95418cece372cf2cda9a8beac56 (diff)
downloadpoky-47f1496eb91ac4a4e30df25acff16aead7fd3d2d.tar.gz
clang: improve opt-viewer PACKAGECONFIG
Instead of patching the python module detection, we can use the hidden option LLVM_TOOL_OPT_VIEWER_BUILD. (From OE-Core rev: ddbbd49c15bad1b2a550188581ffebd752b9b20e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/clang/clang/0040-opt-viewer-Allow-users-to-set-LLVM_HAVE_OPT_VIEWER_M.patch70
-rw-r--r--meta/recipes-devtools/clang/clang_git.bb2
-rw-r--r--meta/recipes-devtools/clang/common.inc1
3 files changed, 1 insertions, 72 deletions
diff --git a/meta/recipes-devtools/clang/clang/0040-opt-viewer-Allow-users-to-set-LLVM_HAVE_OPT_VIEWER_M.patch b/meta/recipes-devtools/clang/clang/0040-opt-viewer-Allow-users-to-set-LLVM_HAVE_OPT_VIEWER_M.patch
deleted file mode 100644
index 4e93756af9..0000000000
--- a/meta/recipes-devtools/clang/clang/0040-opt-viewer-Allow-users-to-set-LLVM_HAVE_OPT_VIEWER_M.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From c2b576a49ed1b83def75578f7d2b2e8c3c54e60f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 2 Aug 2025 17:58:20 -0700
4Subject: [PATCH] [opt-viewer] Allow users to set LLVM_HAVE_OPT_VIEWER_MODULES
5 manually from the CMake
6
7Check right before setting LLVM_HAVE_OPT_VIEWER_MODULES
8so that if the user specifies the variable on the commandline
9it takes precedence. If not, fall back to the old logic
10
11Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/151845]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 llvm/CMakeLists.txt | 2 ++
15 llvm/cmake/config-ix.cmake | 13 ++++++++++---
16 llvm/include/llvm/Config/config.h.cmake | 3 +++
17 3 files changed, 15 insertions(+), 3 deletions(-)
18
19diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
20index cb945b578e46..e4ed9eca6014 100644
21--- a/llvm/CMakeLists.txt
22+++ b/llvm/CMakeLists.txt
23@@ -7,6 +7,8 @@ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
24 include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
25 NO_POLICY_SCOPE)
26
27+option(LLVM_HAVE_OPT_VIEWER_MODULES "Enable opt-viewer modules support" ON)
28+
29 # Builds with custom install names and installation rpath setups may not work
30 # in the build tree. Allow these cases to use CMake's default build tree
31 # behavior by setting `LLVM_NO_INSTALL_NAME_DIR_FOR_BUILD_TREE` to do this.
32diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
33index a8e4e5a63244..17af3dc1e93f 100644
34--- a/llvm/cmake/config-ix.cmake
35+++ b/llvm/cmake/config-ix.cmake
36@@ -805,10 +805,17 @@ foreach(module ${PYTHON_MODULES})
37 find_python_module(${module})
38 endforeach()
39
40-if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
41- set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
42+if(NOT DEFINED LLVM_HAVE_OPT_VIEWER_MODULES)
43+ if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
44+ set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
45+ else()
46+ set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
47+ endif()
48+elseif(LLVM_HAVE_OPT_VIEWER_MODULES)
49+ # Use the user-provided value
50+ set(LLVM_HAVE_OPT_VIEWER_MODULES 1)
51 else()
52- set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
53+ set(LLVM_HAVE_OPT_VIEWER_MODULES 0)
54 endif()
55
56 function(llvm_get_host_prefixes_and_suffixes)
57diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake
58index ce83de8e4cba..02cf6d2ec363 100644
59--- a/llvm/include/llvm/Config/config.h.cmake
60+++ b/llvm/include/llvm/Config/config.h.cmake
61@@ -287,6 +287,9 @@
62 /* Define to a function implementing strdup */
63 #cmakedefine strdup ${strdup}
64
65+/* Define indicating opt-viewer modules */
66+#cmakedefine LLVM_HAVE_OPT_VIEWER_MODULES
67+
68 /* Whether GlobalISel rule coverage is being collected */
69 #cmakedefine01 LLVM_GISEL_COV_ENABLED
70
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index 666bc318c4..af934b0f6e 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -59,7 +59,7 @@ PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,lib
59PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," 59PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,,"
60PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,," 60PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,,"
61PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," 61PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
62PACKAGECONFIG[opt-viewer] = "-DLLVM_HAVE_OPT_VIEWER_MODULES=ON,-DLLVM_HAVE_OPT_VIEWER_MODULES=OFF, \ 62PACKAGECONFIG[opt-viewer] = "-DLLVM_TOOL_OPT_VIEWER_BUILD=ON,-DLLVM_TOOL_OPT_VIEWER_BUILD=OFF, \
63 python3-pyyaml-native python3-pygments-native python3-pyyaml python3-pygments, \ 63 python3-pyyaml-native python3-pygments-native python3-pyyaml python3-pygments, \
64 python3-pyyaml python3-pygments," 64 python3-pyyaml python3-pygments,"
65PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," 65PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc
index 625b0b064b..e01eb2d287 100644
--- a/meta/recipes-devtools/clang/common.inc
+++ b/meta/recipes-devtools/clang/common.inc
@@ -60,7 +60,6 @@ SRC_URI = "\
60 file://0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch \ 60 file://0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch \
61 file://0038-Prevent-revisiting-block-when-searching-for-noreturn.patch \ 61 file://0038-Prevent-revisiting-block-when-searching-for-noreturn.patch \
62 file://0039-Only-build-c-index-test-when-clang-tests-are-include.patch \ 62 file://0039-Only-build-c-index-test-when-clang-tests-are-include.patch \
63 file://0040-opt-viewer-Allow-users-to-set-LLVM_HAVE_OPT_VIEWER_M.patch \
64" 63"
65# Fallback to no-PIE if not set 64# Fallback to no-PIE if not set
66GCCPIE ??= "" 65GCCPIE ??= ""