Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/3] clang: move BPN assignment from common.inc
@ 2025-07-11 15:51 Ross Burton
  2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Ross Burton @ 2025-07-11 15:51 UTC (permalink / raw)
  To: openembedded-core

There's a BPN assignment in common.inc which means all recipes need to
either be called clang, or set BPN themselves.

Move the assignment to the clang recipes. For now I'm leaving the
existing BPN assignments in the other recipes, in case there are complex
multilib-related reasons to retain them.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/clang/clang-cross-canadian_git.bb | 1 +
 meta/recipes-devtools/clang/clang-cross_git.bb          | 1 +
 meta/recipes-devtools/clang/clang-crosssdk_git.bb       | 1 +
 meta/recipes-devtools/clang/clang_git.bb                | 2 ++
 meta/recipes-devtools/clang/common.inc                  | 2 --
 5 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
index 456c0d61bc5..0e84d3ac9a3 100644
--- a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
+++ b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
 SECTION = "devel"
 
 PN = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+BPN = "clang"
 
 require common-clang.inc
 require common-source.inc
diff --git a/meta/recipes-devtools/clang/clang-cross_git.bb b/meta/recipes-devtools/clang/clang-cross_git.bb
index 323cc0d8809..99e48522a0b 100644
--- a/meta/recipes-devtools/clang/clang-cross_git.bb
+++ b/meta/recipes-devtools/clang/clang-cross_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
 SECTION = "devel"
 
 PN = "clang-cross-${TARGET_ARCH}"
+BPN = "clang"
 
 require common-clang.inc
 require common-source.inc
diff --git a/meta/recipes-devtools/clang/clang-crosssdk_git.bb b/meta/recipes-devtools/clang/clang-crosssdk_git.bb
index ef162ef153f..234d4635784 100644
--- a/meta/recipes-devtools/clang/clang-crosssdk_git.bb
+++ b/meta/recipes-devtools/clang/clang-crosssdk_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
 SECTION = "devel"
 
 PN = "clang-crosssdk-${SDK_SYS}"
+BPN = "clang"
 
 require common-clang.inc
 require common-source.inc
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index 23dfbb5deb6..2b5d3a27524 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -17,6 +17,8 @@ SECTION = "devel"
 require common-clang.inc
 require common-source.inc
 
+BPN = "clang"
+
 INHIBIT_DEFAULT_DEPS:class-native = "1"
 
 LDFLAGS:append:class-target:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc
index 37d37ec1975..a9d6f899c03 100644
--- a/meta/recipes-devtools/clang/common.inc
+++ b/meta/recipes-devtools/clang/common.inc
@@ -71,5 +71,3 @@ B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
 # The real WORKDIR location isn't a dependency for the shared workdir.
 src_patches[vardepsexclude] = "WORKDIR"
 should_apply[vardepsexclude] += "PN"
-
-BPN = "clang"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/3] llvm-tblgen-native: add new recipe
  2025-07-11 15:51 [PATCH 1/3] clang: move BPN assignment from common.inc Ross Burton
@ 2025-07-11 15:51 ` Ross Burton
  2025-07-11 16:02   ` Patchtest results for " patchtest
  2025-07-11 16:35   ` [OE-core] " Khem Raj
  2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
  2025-07-11 16:00 ` [OE-core] [PATCH 1/3] clang: move BPN assignment from common.inc Marko, Peter
  2 siblings, 2 replies; 10+ messages in thread
From: Ross Burton @ 2025-07-11 15:51 UTC (permalink / raw)
  To: openembedded-core

Building the LLVM projects often means using the TableGen tools
(llvm-tblgen etc).

We currently build them as part of clang-native, but I am teasing the
clang recipe into its component parts and having to build llvm-native
or lldb-native simply for one tool isn't ideal.

Instead, add a native recipe that simply builds the tablegen binaries
for llvm, clang, and lldb
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 meta/recipes-devtools/clang/clang_git.bb      | 10 +++----
 .../clang/llvm-tblgen-native_git.bb           | 27 +++++++++++++++++++
 3 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100644 meta/recipes-devtools/clang/llvm-tblgen-native_git.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 60f04da6089..331c438fd67 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -480,6 +480,7 @@ RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com
 RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-llvm-project-source-20.1.7 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER:pn-log4cplus = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index 2b5d3a27524..0f1b950cc63 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -207,7 +207,7 @@ EXTRA_OECMAKE:append:class-target = "\
                   -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
 "
 
-DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native"
+DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native llvm-tblgen-native"
 DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} virtual/nativesdk-cross-binutils nativesdk-python3"
 DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} python3 ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)} spirv-llvm-translator-native"
 
@@ -276,18 +276,16 @@ do_install:append:class-native () {
         install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer
     fi
     install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen
-    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
-    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen
-    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/llvm-min-tblgen ${D}${bindir}/llvm-min-tblgen
     install -Dm 0755 ${B}${BINPATHPREFIX}/bin/prepare_builtins ${D}${bindir}/prepare_builtins
 
     for f in `find ${D}${bindir} -executable -type f -not -type l`; do
         test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
         echo "stripped $f"
     done
-    ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV}
-    ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
     ln -sf llvm-config ${D}${bindir}/llvm-config${PV}
+
+    # These are provided by llvm-tblgen-native
+    rm ${D}${bindir}/*-tblgen
 }
 
 do_install:append:class-nativesdk () {
diff --git a/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb
new file mode 100644
index 00000000000..be04c1aa4d1
--- /dev/null
+++ b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "LLVM TableGen binaries, for the build host"
+SECTION = "devel"
+
+# Building the LLVM projects often means using the TableGen tools (llvm-tblgen,
+# etc). We could build these as part of llvm-native, but there are cases where
+# this would be overkill. For example, building a target LLDB needs native
+# tablegen binaries and a target libllvm so having to build a complete native
+# llvm is not needed.
+
+require common-clang.inc
+require common-source.inc
+
+inherit cmake pkgconfig native
+
+OECMAKE_SOURCEPATH = "${S}/llvm"
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb'"
+
+BINARIES = "llvm-min-tblgen llvm-tblgen clang-tblgen lldb-tblgen"
+
+OECMAKE_TARGET_COMPILE = "${BINARIES}"
+
+do_install() {
+    for f in ${BINARIES}; do
+        install -D ${B}/bin/$f ${D}${bindir}/$f
+    done
+}
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/3] lldb: add new recipe, split out of clang
  2025-07-11 15:51 [PATCH 1/3] clang: move BPN assignment from common.inc Ross Burton
  2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
@ 2025-07-11 15:51 ` Ross Burton
  2025-07-11 16:02   ` Patchtest results for " patchtest
                     ` (2 more replies)
  2025-07-11 16:00 ` [OE-core] [PATCH 1/3] clang: move BPN assignment from common.inc Marko, Peter
  2 siblings, 3 replies; 10+ messages in thread
From: Ross Burton @ 2025-07-11 15:51 UTC (permalink / raw)
  To: openembedded-core

LLDB takes a reasonable amount of time to compile, but also isn't an
essential component of the LLVM suite.

Instead of always building it when we build clang, split it out into a
separate recipe.

On my build machine where clang takes 21 minutes to build with lldb, it
takes 19 minutes without lldb.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/conf/distro/include/maintainers.inc |  1 +
 meta/recipes-devtools/clang/clang_git.bb | 54 +++---------------------
 meta/recipes-devtools/clang/lldb_git.bb  | 53 +++++++++++++++++++++++
 3 files changed, 61 insertions(+), 47 deletions(-)
 create mode 100644 meta/recipes-devtools/clang/lldb_git.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 331c438fd67..f49d7317ee9 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -479,6 +479,7 @@ RECIPE_MAINTAINER:pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-lldb = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-llvm-project-source-20.1.7 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index 0f1b950cc63..be56b169c29 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -55,7 +55,7 @@ PACKAGECONFIG_CLANG_COMMON = "build-id eh libedit rtti shared-libs libclang-pyth
                               ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcplusplus libomp unwindlib', '', d)} \
                               "
 
-PACKAGECONFIG ??= "lldb-wchar terminfo \
+PACKAGECONFIG ??= "terminfo \
                    ${PACKAGECONFIG_CLANG_COMMON} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'lto thin-lto', d)} \
                    "
@@ -79,11 +79,9 @@ PACKAGECONFIG[clangd-dexp] = "-DCLANGD_BUILD_DEXP=ON,-DCLANGD_BUILD_DEXP=OFF,,"
 PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,"
 PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF,,"
 PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,"
-PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON -DLLDB_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF -DLLDB_ENABLE_LIBEDIT=OFF,libedit libedit-native"
+PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit libedit-native"
 PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,,"
 PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,"
-PACKAGECONFIG[lldb-lua] = "-DLLDB_ENABLE_LUA=ON,-DLLDB_ENABLE_LUA=OFF,lua"
-PACKAGECONFIG[lldb-wchar] = "-DLLDB_EDITLINE_USE_WCHAR=1,-DLLDB_EDITLINE_USE_WCHAR=0,"
 PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
 PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"
 PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,,"
@@ -107,9 +105,8 @@ LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\
 LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\
 CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_ENABLE_RUNTIMES;LLVM_BINUTILS_INCDIR;\
 LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\
-PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\
-LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\
-LLDB_PYTHON_EXT_SUFFIX;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
+PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;\
+LLVM_ENABLE_LIBEDIT;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
 CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_UNWINDLIB;\
 CLANG_DEFAULT_OPENMP_RUNTIME;LLVM_ENABLE_PER_TARGET_RUNTIME_DIR;\
 LLVM_BUILD_TOOLS;LLVM_USE_HOST_TOOLS;LLVM_CONFIG_PATH;LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR;\
@@ -133,13 +130,7 @@ HF[vardepvalue] = "${HF}"
 
 # Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc
 # they are enabled via LLVM_ENABLE_RUNTIMES
-LLVM_PROJECTS ?= "clang;clang-tools-extra;libclc;lld${LLDB}"
-LLDB ?= ";lldb"
-# LLDB support for RISCV32/Mips32 does not work yet
-LLDB:riscv32 = ""
-LLDB:mips = ""
-LLDB:mipsel = ""
-LLDB:powerpc = ""
+LLVM_PROJECTS ?= "clang;clang-tools-extra;libclc;lld"
 
 # linux hosts (.so) on Windows .pyd
 SOLIBSDEV:mingw32 = ".pyd"
@@ -172,10 +163,7 @@ EXTRA_OECMAKE:append:class-native = "\
                   -DPYTHON_EXECUTABLE='${PYTHON}' \
 "
 EXTRA_OECMAKE:append:class-nativesdk = "\
-                  -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
-                                                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
-                                                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
-                                                  -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
+                  -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
                   -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
                   -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
                   -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
@@ -183,9 +171,6 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
                   -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \
                   -DLLVM_HEADERS_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-min-tblgen \
                   -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
-                  -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
-                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
-                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
                   -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
                   -DPYTHON_EXECUTABLE='${PYTHON}' \
 "
@@ -202,9 +187,6 @@ EXTRA_OECMAKE:append:class-target = "\
                   -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
                   -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
                   -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
-                  -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
-                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${bindir} \
-                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
 "
 
 DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native llvm-tblgen-native"
@@ -317,12 +299,10 @@ PROVIDES:append:class-target = " llvm libclc"
 PROVIDES:append:class-nativesdk = " nativesdk-llvm nativesdk-libclc"
 
 PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python ${PN}-libclang-python ${PN}-libclang-cpp ${PN}-tidy ${PN}-format ${PN}-tools ${PN}-clc \
-             libclang lldb lldb-server liblldb llvm-linker-tools"
+             libclang llvm-linker-tools"
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS:lldb += "${PN}-lldb-python lldb-server"
-
 RDEPENDS:${PN}-tools += "\
   perl-module-digest-md5 \
   perl-module-file-basename \
@@ -343,8 +323,6 @@ FILES:llvm-linker-tools = "${libdir}/LLVMgold* ${libdir}/libLTO.so.* ${libdir}/L
 
 FILES:${PN}-libclang-cpp = "${libdir}/libclang-cpp.so.*"
 
-FILES:${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*"
-
 FILES:${PN}-libclang-python = "${PYTHON_SITEPACKAGES_DIR}/clang/*"
 
 FILES:${PN}-tidy = "${bindir}/*clang-tidy*"
@@ -407,22 +385,6 @@ FILES:${PN} += "\
 
 FILES:${PN}-clc += "${datadir}/clc"
 
-FILES:lldb = "\
-  ${bindir}/lldb \
-  ${bindir}/lldb-argdumper \
-  ${bindir}/lldb-instr \
-  ${bindir}/lldb-vscode \
-"
-
-FILES:lldb-server = "\
-  ${bindir}/lldb-server \
-"
-
-FILES:liblldb = "\
-  ${libdir}/liblldbIntelFeatures.so.* \
-  ${libdir}/liblldb.so.* \
-"
-
 FILES:${PN}-libllvm =+ "\
   ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \
   ${libdir}/libLLVM-${MAJOR_VER}.so \
@@ -449,8 +411,6 @@ FILES:${PN}:remove = "${libdir}/${BPN}/*"
 
 INSANE_SKIP:${PN} += "already-stripped"
 #INSANE_SKIP:${PN}-dev += "dev-elf"
-INSANE_SKIP:${PN}-lldb-python += "dev-so dev-deps"
-INSANE_SKIP:${MLPREFIX}liblldb = "dev-so"
 INSANE_SKIP:${PN}-libllvm = "dev-so"
 
 #Avoid SSTATE_SCAN_COMMAND running sed over llvm-config.
diff --git a/meta/recipes-devtools/clang/lldb_git.bb b/meta/recipes-devtools/clang/lldb_git.bb
new file mode 100644
index 00000000000..a07be0e3d4c
--- /dev/null
+++ b/meta/recipes-devtools/clang/lldb_git.bb
@@ -0,0 +1,53 @@
+SUMMARY = "LLDB"
+DESCRIPTION = "LLDB is a next generation, high-performance debugger."
+HOMEPAGE = "https://lldb.llvm.org"
+SECTION = "devel"
+
+require common-clang.inc
+require common-source.inc
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|powerpc64).*-linux"
+
+LIC_FILES_CHKSUM = "file://lldb/LICENSE.TXT;md5=2e0d44968471fcde980034dbb826bea9"
+
+inherit cmake pkgconfig python3native python3targetconfig
+
+# This actually just depends on LLVM but right now llvm and clang are built together
+DEPENDS = "llvm-tblgen-native clang"
+
+OECMAKE_SOURCEPATH = "${S}/lldb"
+
+EXTRA_OECMAKE = "-DLLDB_INCLUDE_TESTS=OFF \
+                 -DLLDB_ENABLE_LUA=OFF \
+                 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
+                 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
+                 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
+                 -DLLVM_DIR=${STAGING_LIBDIR}/cmake/llvm/ \
+                 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
+                 -DLLDB_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
+"
+
+PACKAGECONFIG ??= "libedit libxml2 lzma"
+PACKAGECONFIG[libedit] = "-DLLDB_ENABLE_LIBEDIT=ON,-DLLDB_ENABLE_LIBEDIT=OFF,libedit"
+PACKAGECONFIG[libxml2] = "-DLLDB_ENABLE_LIBXML2=ON,-DLLDB_ENABLE_LIBXML2=OFF,libxml2"
+PACKAGECONFIG[lzma] = "-DLLDB_ENABLE_LLDB_ENABLE_LZMA=ON,-DLLDB_ENABLE_LLDB_ENABLE_LZMA=OFF,xz"
+PACKAGECONFIG[python] = "-DLLDB_ENABLE_PYTHON=ON,-DLLDB_ENABLE_PYTHON=OFF,swig-native"
+
+do_install:append() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+        # Fix a bad symlink that points to the -dev .so
+        rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/lldb/_lldb.so
+        ln -s ${libdir}/liblldb.so.${MAJOR_VER}.${MINOR_VER} ${D}${PYTHON_SITEPACKAGES_DIR}/lldb/_lldb.so
+    fi
+}
+
+PACKAGES =+ "${PN}-python ${PN}-server"
+
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS:${PN}-python = "${PN}"
+# This has a symlink to the lldb library
+INSANE_SKIP:${PN}-python = "dev-so"
+
+FILES:${PN}-server = "${bindir}/lldb-server"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: [OE-core] [PATCH 1/3] clang: move BPN assignment from common.inc
  2025-07-11 15:51 [PATCH 1/3] clang: move BPN assignment from common.inc Ross Burton
  2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
  2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
@ 2025-07-11 16:00 ` Marko, Peter
  2 siblings, 0 replies; 10+ messages in thread
From: Marko, Peter @ 2025-07-11 16:00 UTC (permalink / raw)
  To: ross.burton@arm.com, openembedded-core@lists.openembedded.org

I think that the inc file should now set CVE_PRODUCT when we remove the BPN assignment.
Having a recipe based on clang sources without BPN assignment would mean wrong CVE stats.

Peter

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Ross Burton via
> lists.openembedded.org
> Sent: Friday, July 11, 2025 17:52
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH 1/3] clang: move BPN assignment from common.inc
> 
> There's a BPN assignment in common.inc which means all recipes need to
> either be called clang, or set BPN themselves.
> 
> Move the assignment to the clang recipes. For now I'm leaving the
> existing BPN assignments in the other recipes, in case there are complex
> multilib-related reasons to retain them.
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/recipes-devtools/clang/clang-cross-canadian_git.bb | 1 +
>  meta/recipes-devtools/clang/clang-cross_git.bb          | 1 +
>  meta/recipes-devtools/clang/clang-crosssdk_git.bb       | 1 +
>  meta/recipes-devtools/clang/clang_git.bb                | 2 ++
>  meta/recipes-devtools/clang/common.inc                  | 2 --
>  5 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
> b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
> index 456c0d61bc5..0e84d3ac9a3 100644
> --- a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
> +++ b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb
> @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
>  SECTION = "devel"
> 
>  PN = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}"
> +BPN = "clang"
> 
>  require common-clang.inc
>  require common-source.inc
> diff --git a/meta/recipes-devtools/clang/clang-cross_git.bb b/meta/recipes-
> devtools/clang/clang-cross_git.bb
> index 323cc0d8809..99e48522a0b 100644
> --- a/meta/recipes-devtools/clang/clang-cross_git.bb
> +++ b/meta/recipes-devtools/clang/clang-cross_git.bb
> @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
>  SECTION = "devel"
> 
>  PN = "clang-cross-${TARGET_ARCH}"
> +BPN = "clang"
> 
>  require common-clang.inc
>  require common-source.inc
> diff --git a/meta/recipes-devtools/clang/clang-crosssdk_git.bb b/meta/recipes-
> devtools/clang/clang-crosssdk_git.bb
> index ef162ef153f..234d4635784 100644
> --- a/meta/recipes-devtools/clang/clang-crosssdk_git.bb
> +++ b/meta/recipes-devtools/clang/clang-crosssdk_git.bb
> @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;
>  SECTION = "devel"
> 
>  PN = "clang-crosssdk-${SDK_SYS}"
> +BPN = "clang"
> 
>  require common-clang.inc
>  require common-source.inc
> diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-
> devtools/clang/clang_git.bb
> index 23dfbb5deb6..2b5d3a27524 100644
> --- a/meta/recipes-devtools/clang/clang_git.bb
> +++ b/meta/recipes-devtools/clang/clang_git.bb
> @@ -17,6 +17,8 @@ SECTION = "devel"
>  require common-clang.inc
>  require common-source.inc
> 
> +BPN = "clang"
> +
>  INHIBIT_DEFAULT_DEPS:class-native = "1"
> 
>  LDFLAGS:append:class-target:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-
> needed"
> diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-
> devtools/clang/common.inc
> index 37d37ec1975..a9d6f899c03 100644
> --- a/meta/recipes-devtools/clang/common.inc
> +++ b/meta/recipes-devtools/clang/common.inc
> @@ -71,5 +71,3 @@ B ?= "${WORKDIR}/llvm-project-source-
> ${PV}/build.${HOST_SYS}.${TARGET_SYS}"
>  # The real WORKDIR location isn't a dependency for the shared workdir.
>  src_patches[vardepsexclude] = "WORKDIR"
>  should_apply[vardepsexclude] += "PN"
> -
> -BPN = "clang"
> --
> 2.43.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Patchtest results for [PATCH 2/3] llvm-tblgen-native: add new recipe
  2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
@ 2025-07-11 16:02   ` patchtest
  2025-07-11 16:35   ` [OE-core] " Khem Raj
  1 sibling, 0 replies; 10+ messages in thread
From: patchtest @ 2025-07-11 16:02 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2908 bytes --]

Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch /home/patchtest/share/mboxes/2-3-llvm-tblgen-native-add-new-recipe.patch

FAIL: test Signed-off-by presence: Mbox is missing Signed-off-by. Add it manually or with "git commit --amend -s" (test_mbox.TestMbox.test_signed_off_by_presence)

PASS: pretest src uri left files (test_metadata.TestMetadata.pretest_src_uri_left_files)
PASS: test CVE check ignore (test_metadata.TestMetadata.test_cve_check_ignore)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test lic files chksum modified not mentioned (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
PASS: test lic files chksum presence (test_metadata.TestMetadata.test_lic_files_chksum_presence)
PASS: test license presence (test_metadata.TestMetadata.test_license_presence)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test src uri left files (test_metadata.TestMetadata.test_src_uri_left_files)
PASS: test summary presence (test_metadata.TestMetadata.test_summary_presence)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)

SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: test CVE tag format: No new CVE patches introduced (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new CVE patches introduced (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new CVE patches introduced (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Patchtest results for [PATCH 3/3] lldb: add new recipe, split out of clang
  2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
@ 2025-07-11 16:02   ` patchtest
  2025-07-11 16:32   ` [OE-core] " Khem Raj
  2025-07-15  8:25   ` Mathieu Dubois-Briand
  2 siblings, 0 replies; 10+ messages in thread
From: patchtest @ 2025-07-11 16:02 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3022 bytes --]

Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch /home/patchtest/share/mboxes/3-3-lldb-add-new-recipe-split-out-of-clang.patch

FAIL: test lic files chksum modified not mentioned: LIC_FILES_CHKSUM changed without "License-Update:" tag and description in commit message (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)

PASS: pretest src uri left files (test_metadata.TestMetadata.pretest_src_uri_left_files)
PASS: test CVE check ignore (test_metadata.TestMetadata.test_cve_check_ignore)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test src uri left files (test_metadata.TestMetadata.test_src_uri_left_files)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)

SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: test CVE tag format: No new CVE patches introduced (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new CVE patches introduced (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new CVE patches introduced (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 3/3] lldb: add new recipe, split out of clang
  2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
  2025-07-11 16:02   ` Patchtest results for " patchtest
@ 2025-07-11 16:32   ` Khem Raj
  2025-07-15  8:25   ` Mathieu Dubois-Briand
  2 siblings, 0 replies; 10+ messages in thread
From: Khem Raj @ 2025-07-11 16:32 UTC (permalink / raw)
  To: ross.burton, openembedded-core



On 7/11/25 8:51 AM, Ross Burton via lists.openembedded.org wrote:
> LLDB takes a reasonable amount of time to compile, but also isn't an
> essential component of the LLVM suite.
> 
> Instead of always building it when we build clang, split it out into a
> separate recipe.
> 
> On my build machine where clang takes 21 minutes to build with lldb, it
> takes 19 minutes without lldb.
> 

These changes look fine in general to me.

> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>   meta/conf/distro/include/maintainers.inc |  1 +
>   meta/recipes-devtools/clang/clang_git.bb | 54 +++---------------------
>   meta/recipes-devtools/clang/lldb_git.bb  | 53 +++++++++++++++++++++++
>   3 files changed, 61 insertions(+), 47 deletions(-)
>   create mode 100644 meta/recipes-devtools/clang/lldb_git.bb
> 
> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
> index 331c438fd67..f49d7317ee9 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -479,6 +479,7 @@ RECIPE_MAINTAINER:pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>"
>   RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>"
>   RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
>   RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
> +RECIPE_MAINTAINER:pn-lldb = "Khem Raj <raj.khem@gmail.com>"
>   RECIPE_MAINTAINER:pn-llvm-project-source-20.1.7 = "Khem Raj <raj.khem@gmail.com>"
>   RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>"
>   RECIPE_MAINTAINER:pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
> diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
> index 0f1b950cc63..be56b169c29 100644
> --- a/meta/recipes-devtools/clang/clang_git.bb
> +++ b/meta/recipes-devtools/clang/clang_git.bb
> @@ -55,7 +55,7 @@ PACKAGECONFIG_CLANG_COMMON = "build-id eh libedit rtti shared-libs libclang-pyth
>                                 ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcplusplus libomp unwindlib', '', d)} \
>                                 "
>   
> -PACKAGECONFIG ??= "lldb-wchar terminfo \
> +PACKAGECONFIG ??= "terminfo \
>                      ${PACKAGECONFIG_CLANG_COMMON} \
>                      ${@bb.utils.filter('DISTRO_FEATURES', 'lto thin-lto', d)} \
>                      "
> @@ -79,11 +79,9 @@ PACKAGECONFIG[clangd-dexp] = "-DCLANGD_BUILD_DEXP=ON,-DCLANGD_BUILD_DEXP=OFF,,"
>   PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,"
>   PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF,,"
>   PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,"
> -PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON -DLLDB_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF -DLLDB_ENABLE_LIBEDIT=OFF,libedit libedit-native"
> +PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit libedit-native"
>   PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,,"
>   PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,"
> -PACKAGECONFIG[lldb-lua] = "-DLLDB_ENABLE_LUA=ON,-DLLDB_ENABLE_LUA=OFF,lua"
> -PACKAGECONFIG[lldb-wchar] = "-DLLDB_EDITLINE_USE_WCHAR=1,-DLLDB_EDITLINE_USE_WCHAR=0,"
>   PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
>   PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"
>   PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,,"
> @@ -107,9 +105,8 @@ LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\
>   LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\
>   CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_ENABLE_RUNTIMES;LLVM_BINUTILS_INCDIR;\
>   LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\
> -PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\
> -LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\
> -LLDB_PYTHON_EXT_SUFFIX;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
> +PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;\
> +LLVM_ENABLE_LIBEDIT;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
>   CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_UNWINDLIB;\
>   CLANG_DEFAULT_OPENMP_RUNTIME;LLVM_ENABLE_PER_TARGET_RUNTIME_DIR;\
>   LLVM_BUILD_TOOLS;LLVM_USE_HOST_TOOLS;LLVM_CONFIG_PATH;LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR;\
> @@ -133,13 +130,7 @@ HF[vardepvalue] = "${HF}"
>   
>   # Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc
>   # they are enabled via LLVM_ENABLE_RUNTIMES
> -LLVM_PROJECTS ?= "clang;clang-tools-extra;libclc;lld${LLDB}"
> -LLDB ?= ";lldb"
> -# LLDB support for RISCV32/Mips32 does not work yet
> -LLDB:riscv32 = ""
> -LLDB:mips = ""
> -LLDB:mipsel = ""
> -LLDB:powerpc = ""
> +LLVM_PROJECTS ?= "clang;clang-tools-extra;libclc;lld"
>   
>   # linux hosts (.so) on Windows .pyd
>   SOLIBSDEV:mingw32 = ".pyd"
> @@ -172,10 +163,7 @@ EXTRA_OECMAKE:append:class-native = "\
>                     -DPYTHON_EXECUTABLE='${PYTHON}' \
>   "
>   EXTRA_OECMAKE:append:class-nativesdk = "\
> -                  -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
> -                                                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
> -                                                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
> -                                                  -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
> +                  -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
>                     -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
>                     -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
>                     -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
> @@ -183,9 +171,6 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
>                     -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \
>                     -DLLVM_HEADERS_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-min-tblgen \
>                     -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
> -                  -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
> -                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
> -                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
>                     -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
>                     -DPYTHON_EXECUTABLE='${PYTHON}' \
>   "
> @@ -202,9 +187,6 @@ EXTRA_OECMAKE:append:class-target = "\
>                     -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
>                     -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
>                     -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
> -                  -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
> -                  -DLLDB_PYTHON_EXE_RELATIVE_PATH=${bindir} \
> -                  -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
>   "
>   
>   DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native llvm-tblgen-native"
> @@ -317,12 +299,10 @@ PROVIDES:append:class-target = " llvm libclc"
>   PROVIDES:append:class-nativesdk = " nativesdk-llvm nativesdk-libclc"
>   
>   PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python ${PN}-libclang-python ${PN}-libclang-cpp ${PN}-tidy ${PN}-format ${PN}-tools ${PN}-clc \
> -             libclang lldb lldb-server liblldb llvm-linker-tools"
> +             libclang llvm-linker-tools"
>   
>   BBCLASSEXTEND = "native nativesdk"
>   
> -RDEPENDS:lldb += "${PN}-lldb-python lldb-server"
> -
>   RDEPENDS:${PN}-tools += "\
>     perl-module-digest-md5 \
>     perl-module-file-basename \
> @@ -343,8 +323,6 @@ FILES:llvm-linker-tools = "${libdir}/LLVMgold* ${libdir}/libLTO.so.* ${libdir}/L
>   
>   FILES:${PN}-libclang-cpp = "${libdir}/libclang-cpp.so.*"
>   
> -FILES:${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*"
> -
>   FILES:${PN}-libclang-python = "${PYTHON_SITEPACKAGES_DIR}/clang/*"
>   
>   FILES:${PN}-tidy = "${bindir}/*clang-tidy*"
> @@ -407,22 +385,6 @@ FILES:${PN} += "\
>   
>   FILES:${PN}-clc += "${datadir}/clc"
>   
> -FILES:lldb = "\
> -  ${bindir}/lldb \
> -  ${bindir}/lldb-argdumper \
> -  ${bindir}/lldb-instr \
> -  ${bindir}/lldb-vscode \
> -"
> -
> -FILES:lldb-server = "\
> -  ${bindir}/lldb-server \
> -"
> -
> -FILES:liblldb = "\
> -  ${libdir}/liblldbIntelFeatures.so.* \
> -  ${libdir}/liblldb.so.* \
> -"
> -
>   FILES:${PN}-libllvm =+ "\
>     ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \
>     ${libdir}/libLLVM-${MAJOR_VER}.so \
> @@ -449,8 +411,6 @@ FILES:${PN}:remove = "${libdir}/${BPN}/*"
>   
>   INSANE_SKIP:${PN} += "already-stripped"
>   #INSANE_SKIP:${PN}-dev += "dev-elf"
> -INSANE_SKIP:${PN}-lldb-python += "dev-so dev-deps"
> -INSANE_SKIP:${MLPREFIX}liblldb = "dev-so"
>   INSANE_SKIP:${PN}-libllvm = "dev-so"
>   
>   #Avoid SSTATE_SCAN_COMMAND running sed over llvm-config.
> diff --git a/meta/recipes-devtools/clang/lldb_git.bb b/meta/recipes-devtools/clang/lldb_git.bb
> new file mode 100644
> index 00000000000..a07be0e3d4c
> --- /dev/null
> +++ b/meta/recipes-devtools/clang/lldb_git.bb
> @@ -0,0 +1,53 @@
> +SUMMARY = "LLDB"
> +DESCRIPTION = "LLDB is a next generation, high-performance debugger."
> +HOMEPAGE = "https://lldb.llvm.org"
> +SECTION = "devel"
> +
> +require common-clang.inc
> +require common-source.inc
> +
> +COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|powerpc64).*-linux"
> +
> +LIC_FILES_CHKSUM = "file://lldb/LICENSE.TXT;md5=2e0d44968471fcde980034dbb826bea9"
> +
> +inherit cmake pkgconfig python3native python3targetconfig
> +
> +# This actually just depends on LLVM but right now llvm and clang are built together
> +DEPENDS = "llvm-tblgen-native clang"
> +
> +OECMAKE_SOURCEPATH = "${S}/lldb"
> +
> +EXTRA_OECMAKE = "-DLLDB_INCLUDE_TESTS=OFF \
> +                 -DLLDB_ENABLE_LUA=OFF \
> +                 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
> +                 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \
> +                 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
> +                 -DLLVM_DIR=${STAGING_LIBDIR}/cmake/llvm/ \
> +                 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
> +                 -DLLDB_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
> +"
> +
> +PACKAGECONFIG ??= "libedit libxml2 lzma"
> +PACKAGECONFIG[libedit] = "-DLLDB_ENABLE_LIBEDIT=ON,-DLLDB_ENABLE_LIBEDIT=OFF,libedit"
> +PACKAGECONFIG[libxml2] = "-DLLDB_ENABLE_LIBXML2=ON,-DLLDB_ENABLE_LIBXML2=OFF,libxml2"
> +PACKAGECONFIG[lzma] = "-DLLDB_ENABLE_LLDB_ENABLE_LZMA=ON,-DLLDB_ENABLE_LLDB_ENABLE_LZMA=OFF,xz"
> +PACKAGECONFIG[python] = "-DLLDB_ENABLE_PYTHON=ON,-DLLDB_ENABLE_PYTHON=OFF,swig-native"
> +
> +do_install:append() {
> +    if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
> +        # Fix a bad symlink that points to the -dev .so
> +        rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/lldb/_lldb.so
> +        ln -s ${libdir}/liblldb.so.${MAJOR_VER}.${MINOR_VER} ${D}${PYTHON_SITEPACKAGES_DIR}/lldb/_lldb.so
> +    fi
> +}
> +
> +PACKAGES =+ "${PN}-python ${PN}-server"
> +
> +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
> +RDEPENDS:${PN}-python = "${PN}"
> +# This has a symlink to the lldb library
> +INSANE_SKIP:${PN}-python = "dev-so"
> +
> +FILES:${PN}-server = "${bindir}/lldb-server"
> +
> +BBCLASSEXTEND = "native nativesdk"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#220147): https://lists.openembedded.org/g/openembedded-core/message/220147
> Mute This Topic: https://lists.openembedded.org/mt/114102603/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 2/3] llvm-tblgen-native: add new recipe
  2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
  2025-07-11 16:02   ` Patchtest results for " patchtest
@ 2025-07-11 16:35   ` Khem Raj
  2025-07-11 17:14     ` Ross Burton
  1 sibling, 1 reply; 10+ messages in thread
From: Khem Raj @ 2025-07-11 16:35 UTC (permalink / raw)
  To: ross.burton, openembedded-core



On 7/11/25 8:51 AM, Ross Burton via lists.openembedded.org wrote:
> Building the LLVM projects often means using the TableGen tools
> (llvm-tblgen etc).
> 
> We currently build them as part of clang-native, but I am teasing the
> clang recipe into its component parts and having to build llvm-native
> or lldb-native simply for one tool isn't ideal.
> 
> Instead, add a native recipe that simply builds the tablegen binaries
> for llvm, clang, and lldb
> ---
>   meta/conf/distro/include/maintainers.inc      |  1 +
>   meta/recipes-devtools/clang/clang_git.bb      | 10 +++----
>   .../clang/llvm-tblgen-native_git.bb           | 27 +++++++++++++++++++
>   3 files changed, 32 insertions(+), 6 deletions(-)
>   create mode 100644 meta/recipes-devtools/clang/llvm-tblgen-native_git.bb
> 
> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
> index 60f04da6089..331c438fd67 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -480,6 +480,7 @@ RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com
>   RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
>   RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
>   RECIPE_MAINTAINER:pn-llvm-project-source-20.1.7 = "Khem Raj <raj.khem@gmail.com>"
> +RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>"
>   RECIPE_MAINTAINER:pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
>   RECIPE_MAINTAINER:pn-log4cplus = "Unassigned <unassigned@yoctoproject.org>"
>   RECIPE_MAINTAINER:pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
> diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
> index 2b5d3a27524..0f1b950cc63 100644
> --- a/meta/recipes-devtools/clang/clang_git.bb
> +++ b/meta/recipes-devtools/clang/clang_git.bb
> @@ -207,7 +207,7 @@ EXTRA_OECMAKE:append:class-target = "\
>                     -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
>   "
>   
> -DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native"
> +DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native spirv-tools-native llvm-tblgen-native"
>   DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} virtual/nativesdk-cross-binutils nativesdk-python3"
>   DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} python3 ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)} spirv-llvm-translator-native"
>   
> @@ -276,18 +276,16 @@ do_install:append:class-native () {
>           install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer
>       fi
>       install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen
> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen
> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/llvm-min-tblgen ${D}${bindir}/llvm-min-tblgen

they are not installed but They are still being built internally I 
suppose ? in that case I wonder if it can use the binaries from 
llvm-tblgen-native during build and we can disable them from build in 
clang-native explicitly, should save some more time

>       install -Dm 0755 ${B}${BINPATHPREFIX}/bin/prepare_builtins ${D}${bindir}/prepare_builtins
>   
>       for f in `find ${D}${bindir} -executable -type f -not -type l`; do
>           test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
>           echo "stripped $f"
>       done
> -    ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV}
> -    ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
>       ln -sf llvm-config ${D}${bindir}/llvm-config${PV}
> +
> +    # These are provided by llvm-tblgen-native
> +    rm ${D}${bindir}/*-tblgen
>   }
>   
>   do_install:append:class-nativesdk () {
> diff --git a/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb
> new file mode 100644
> index 00000000000..be04c1aa4d1
> --- /dev/null
> +++ b/meta/recipes-devtools/clang/llvm-tblgen-native_git.bb
> @@ -0,0 +1,27 @@
> +SUMMARY = "LLVM TableGen binaries, for the build host"
> +SECTION = "devel"
> +
> +# Building the LLVM projects often means using the TableGen tools (llvm-tblgen,
> +# etc). We could build these as part of llvm-native, but there are cases where
> +# this would be overkill. For example, building a target LLDB needs native
> +# tablegen binaries and a target libllvm so having to build a complete native
> +# llvm is not needed.
> +
> +require common-clang.inc
> +require common-source.inc
> +
> +inherit cmake pkgconfig native
> +
> +OECMAKE_SOURCEPATH = "${S}/llvm"
> +
> +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb'"
> +
> +BINARIES = "llvm-min-tblgen llvm-tblgen clang-tblgen lldb-tblgen"
> +
> +OECMAKE_TARGET_COMPILE = "${BINARIES}"
> +
> +do_install() {
> +    for f in ${BINARIES}; do
> +        install -D ${B}/bin/$f ${D}${bindir}/$f
> +    done
> +}
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#220146): https://lists.openembedded.org/g/openembedded-core/message/220146
> Mute This Topic: https://lists.openembedded.org/mt/114102602/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 2/3] llvm-tblgen-native: add new recipe
  2025-07-11 16:35   ` [OE-core] " Khem Raj
@ 2025-07-11 17:14     ` Ross Burton
  0 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-07-11 17:14 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core@lists.openembedded.org

On 11 Jul 2025, at 17:35, Khem Raj <raj.khem@gmail.com> wrote:
>>      install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen
>> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
>> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen
>> -    install -Dm 0755 ${B}${BINPATHPREFIX}/bin/llvm-min-tblgen ${D}${bindir}/llvm-min-tblgen
> 
> they are not installed but They are still being built internally I suppose ? in that case I wonder if it can use the binaries from llvm-tblgen-native during build and we can disable them from build in clang-native explicitly, should save some more time

Annoyingly, the native build does build its own copies even though I’ve told it where to find existing binaries.  Probably some quirk or another argument needed, feel free to figure out what I’m missing ;)

Ross

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 3/3] lldb: add new recipe, split out of clang
  2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
  2025-07-11 16:02   ` Patchtest results for " patchtest
  2025-07-11 16:32   ` [OE-core] " Khem Raj
@ 2025-07-15  8:25   ` Mathieu Dubois-Briand
  2 siblings, 0 replies; 10+ messages in thread
From: Mathieu Dubois-Briand @ 2025-07-15  8:25 UTC (permalink / raw)
  To: ross.burton, openembedded-core

On Fri Jul 11, 2025 at 5:51 PM CEST, Ross Burton via lists.openembedded.org wrote:
> LLDB takes a reasonable amount of time to compile, but also isn't an
> essential component of the LLVM suite.
>
> Instead of always building it when we build clang, split it out into a
> separate recipe.
>
> On my build machine where clang takes 21 minutes to build with lldb, it
> takes 19 minutes without lldb.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---

Hi Ross,

I know you are already aware of this, but just to keep a trace, this is
failing reproducibility test on the autobuilder.

https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2088
https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20250714-7q8vsabu/packages/diff-html/

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-07-15  8:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-11 15:51 [PATCH 1/3] clang: move BPN assignment from common.inc Ross Burton
2025-07-11 15:51 ` [PATCH 2/3] llvm-tblgen-native: add new recipe Ross Burton
2025-07-11 16:02   ` Patchtest results for " patchtest
2025-07-11 16:35   ` [OE-core] " Khem Raj
2025-07-11 17:14     ` Ross Burton
2025-07-11 15:51 ` [PATCH 3/3] lldb: add new recipe, split out of clang Ross Burton
2025-07-11 16:02   ` Patchtest results for " patchtest
2025-07-11 16:32   ` [OE-core] " Khem Raj
2025-07-15  8:25   ` Mathieu Dubois-Briand
2025-07-11 16:00 ` [OE-core] [PATCH 1/3] clang: move BPN assignment from common.inc Marko, Peter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox