diff options
| author | Ross Burton <ross.burton@arm.com> | 2025-09-24 13:08:28 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-09-25 11:09:04 +0100 |
| commit | 47f1496eb91ac4a4e30df25acff16aead7fd3d2d (patch) | |
| tree | a2a122bbc953b3369d99408d31dca9b7dc95a11c /meta | |
| parent | 52df55540552c95418cece372cf2cda9a8beac56 (diff) | |
| download | poky-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')
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 @@ | |||
| 1 | From c2b576a49ed1b83def75578f7d2b2e8c3c54e60f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 2 Aug 2025 17:58:20 -0700 | ||
| 4 | Subject: [PATCH] [opt-viewer] Allow users to set LLVM_HAVE_OPT_VIEWER_MODULES | ||
| 5 | manually from the CMake | ||
| 6 | |||
| 7 | Check right before setting LLVM_HAVE_OPT_VIEWER_MODULES | ||
| 8 | so that if the user specifies the variable on the commandline | ||
| 9 | it takes precedence. If not, fall back to the old logic | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/151845] | ||
| 12 | Signed-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 | |||
| 19 | diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt | ||
| 20 | index 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. | ||
| 32 | diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake | ||
| 33 | index 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) | ||
| 57 | diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake | ||
| 58 | index 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 | |||
| 59 | PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," | 59 | PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," |
| 60 | PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,," | 60 | PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,," |
| 61 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 61 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
| 62 | PACKAGECONFIG[opt-viewer] = "-DLLVM_HAVE_OPT_VIEWER_MODULES=ON,-DLLVM_HAVE_OPT_VIEWER_MODULES=OFF, \ | 62 | PACKAGECONFIG[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," |
| 65 | PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," | 65 | PACKAGECONFIG[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 |
| 66 | GCCPIE ??= "" | 65 | GCCPIE ??= "" |
