diff options
| author | Ross Burton <ross.burton@arm.com> | 2025-09-24 13:08:32 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-09-25 11:09:04 +0100 |
| commit | c22230e15f8bc551e3fc5972483595a1866d0c99 (patch) | |
| tree | f5a71dd4f5bc240cfe479a75fd308c1a1b9381e9 | |
| parent | 6f089b930ef5bd831819f4cb43a1b90cc1cf3b0e (diff) | |
| download | poky-c22230e15f8bc551e3fc5972483595a1866d0c99.tar.gz | |
clang: improve tablegen installation
Backport a patch from upstream to install lldb-tblgen, and change the
llvm-tblgen-native recipe to use `cmake --install` instead of copying
the binaries.
This ensures that CMake does any post-install steps that are needed, and
we don't install binaries that have eg RPATHs pointing at the build tree.
(From OE-Core rev: 93051e8730263cfc23e1230015a4789dac4914de)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-devtools/clang/clang/0001-Install-lldb-tblgen.patch | 29 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/common.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/llvm-tblgen-native_git.bb | 8 |
3 files changed, 33 insertions, 5 deletions
diff --git a/meta/recipes-devtools/clang/clang/0001-Install-lldb-tblgen.patch b/meta/recipes-devtools/clang/clang/0001-Install-lldb-tblgen.patch new file mode 100644 index 0000000000..c974167589 --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0001-Install-lldb-tblgen.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 7de6d35aeea2d06b1597539c47f6af30d2798d73 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ross Burton <ross.burton@arm.com> | ||
| 3 | Date: Fri, 19 Sep 2025 16:33:55 +0100 | ||
| 4 | Subject: [PATCH] Install lldb-tblgen | ||
| 5 | |||
| 6 | In keeping with the llvm-tblgen and clang-tblgen binaries, allow | ||
| 7 | lldb-tblgen to be installed by cmake so that cross builds are easier. | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/0ce6052a0c08035a07fcabb05271be7313308db3] | ||
| 10 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
| 11 | --- | ||
| 12 | lldb/utils/TableGen/CMakeLists.txt | 1 + | ||
| 13 | 1 file changed, 1 insertion(+) | ||
| 14 | |||
| 15 | diff --git a/lldb/utils/TableGen/CMakeLists.txt b/lldb/utils/TableGen/CMakeLists.txt | ||
| 16 | index 0ac010bcda35..ce96dddd4420 100644 | ||
| 17 | --- a/lldb/utils/TableGen/CMakeLists.txt | ||
| 18 | +++ b/lldb/utils/TableGen/CMakeLists.txt | ||
| 19 | @@ -8,6 +8,7 @@ if (NOT DEFINED LLDB_TABLEGEN_EXE) | ||
| 20 | set(LLVM_LINK_COMPONENTS Support) | ||
| 21 | |||
| 22 | add_tablegen(lldb-tblgen LLDB | ||
| 23 | + DESTINATION "${CMAKE_INSTALL_BINDIR}" | ||
| 24 | LLDBOptionDefEmitter.cpp | ||
| 25 | LLDBPropertyDefEmitter.cpp | ||
| 26 | LLDBTableGen.cpp | ||
| 27 | -- | ||
| 28 | 2.43.0 | ||
| 29 | |||
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc index e01eb2d287..512bf1dd02 100644 --- a/meta/recipes-devtools/clang/common.inc +++ b/meta/recipes-devtools/clang/common.inc | |||
| @@ -60,6 +60,7 @@ 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://0001-Install-lldb-tblgen.patch \ | ||
| 63 | " | 64 | " |
| 64 | # Fallback to no-PIE if not set | 65 | # Fallback to no-PIE if not set |
| 65 | GCCPIE ??= "" | 66 | GCCPIE ??= "" |
diff --git a/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb index be04c1aa4d..8023d74578 100644 --- a/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb +++ b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb | |||
| @@ -16,12 +16,10 @@ OECMAKE_SOURCEPATH = "${S}/llvm" | |||
| 16 | 16 | ||
| 17 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb'" | 17 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb'" |
| 18 | 18 | ||
| 19 | BINARIES = "llvm-min-tblgen llvm-tblgen clang-tblgen lldb-tblgen" | 19 | OECMAKE_TARGET_COMPILE = "llvm-tblgen clang-tblgen lldb-tblgen" |
| 20 | |||
| 21 | OECMAKE_TARGET_COMPILE = "${BINARIES}" | ||
| 22 | 20 | ||
| 23 | do_install() { | 21 | do_install() { |
| 24 | for f in ${BINARIES}; do | 22 | for TARGET in ${OECMAKE_TARGET_COMPILE}; do |
| 25 | install -D ${B}/bin/$f ${D}${bindir}/$f | 23 | DESTDIR=${D} cmake --install ${B} --component $TARGET |
| 26 | done | 24 | done |
| 27 | } | 25 | } |
