Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang
@ 2025-04-24  7:20 Khem Raj
  2025-04-24  7:20 ` [PATCH 01/11] cmake-native.bbclass: Abstraction to use cmake with native toolchains Khem Raj
                   ` (11 more replies)
  0 siblings, 12 replies; 32+ messages in thread
From: Khem Raj @ 2025-04-24  7:20 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj, Dmitry Baryshkov, Liu Yiding

Latest mesa 25+ needs libclang during build for tools like mesa_clc,
we enahnced already existing llvm recipe to build pieces of clang as
well, which worked for mesa's needs but broke static clang compiler
provided by meta-clang due to newfound conflicts, since clang is now
built with llvm recipe from core and also by meta-clang and they
compete for same namespace, an attempt to make them co-habit did reveal
more difficulties. Clang compiler from meta-clang is not able to use
llvm libraries from core since they patch them differently.

This patch series therefore brings clang and all recipes that build from
llvm sources into core. With this changeset, clang recipes can be removed
from meta-clang there is a pull request for that already [1]
As an aside, we only build clang once and use it for meta-clang needs
and core needs.

With this, meta-clang can depend upon core layer to provide clang and
related recipes, meta-clang will still provide the toolchain policies
around clang based toolchains. Clang compiler from core, while usable
for mesa is not yet fully usable out of box, since we need to workout
the multi-toolchain architecture for core, which will be done in next
phase after this merge.

[1] https://github.com/kraj/meta-clang/pull/1088

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Dmitry Baryshkov (1):
      clang: remove LLVM_LDFLAGS from llvm-config --ldflags output

Khem Raj (9):
      cmake-native.bbclass: Abstraction to use cmake with native toolchains
      llvm: Renamed to clang
      maintainers.inc: Add myself as maintainer for clang family of recipes
      clang: Merge llvm/clang family recipes from meta-clang
      kernel-arch.bbclass: Do not use weak assignment for TOOLCHAIN
      clang.inc: Remove duplicate RANLIB setting
      openmp: Omit time stamps from generated files
      sstatesig: Handle special case of llvm-project-source shared-workdir
      multilib.conf: Add llvm-project-source recipe to NON_MULTILIB_RECIPES

Liu Yiding (1):
      clang: multilib-header fix for llvm-config.h

 meta/classes-recipe/cmake-native.bbclass           |  56 +++
 meta/classes-recipe/kernel-arch.bbclass            |   2 +-
 meta/conf/distro/include/maintainers.inc           |  11 +-
 meta/conf/multilib.conf                            |   2 +-
 meta/conf/toolchain/clang.inc                      |   1 -
 meta/lib/oe/sstatesig.py                           |   3 +
 .../clang/clang-cross-canadian_git.bb              |  36 ++
 meta/recipes-devtools/clang/clang-cross_git.bb     |  39 ++
 meta/recipes-devtools/clang/clang-crosssdk_git.bb  |  34 ++
 ...ind-libunwind-headers-when-LIBCXXABI_LIBU.patch |  60 +++
 ...er-rt-support-a-new-embedded-linux-target.patch | 309 +++++++++++++
 ...-Simplify-cross-compilation.-Don-t-use-na.patch |  44 ++
 ...LibraryInfo-Undefine-libc-functions-if-th.patch |  90 ++++
 ...allow-env-override-of-exe-and-libdir-path.patch |  71 +++
 ...-clang-driver-Check-sysroot-for-ldso-path.patch |  75 ++++
 ...iver-tools.cpp-Add-lssp_nonshared-on-musl.patch |  32 ++
 .../0008-clang-Prepend-trailing-to-sysroot.patch   |  39 ++
 ...inside-the-target-sysroot-for-compiler-ru.patch |  41 ++
 ...ang-Define-releative-gcc-installation-dir.patch |  47 ++
 ...pthread-and-ldl-along-with-lunwind-for-st.patch |  35 ++
 ..._EXECUTABLE-when-cross-compiling-for-nati.patch |  24 +
 .../0013-Check-for-atomic-double-intrinsics.patch  |  34 ++
 ...configure-for-packages-using-find_package.patch |   2 +-
 ...esource-dir-location-for-cross-toolchains.patch |  50 +++
 ...r-Add-dyld-prefix-when-checking-sysroot-f.patch |  79 ++++
 .../0017-clang-Use-python3-in-python-scripts.patch |  35 ++
 ...4-set-Yocto-based-GCC-install-search-path.patch |  70 +++
 ...-anchor-for-adding-OE-distro-vendor-names.patch |  32 ++
 ...-Do-not-use-backtrace-APIs-on-non-glibc-l.patch |  68 +++
 ...86-triple-for-non-debian-multiarch-linux-.patch |  28 ++
 ...0022-libunwind-Added-unw_backtrace-method.patch |  56 +++
 ...-Do-not-use-install-relative-libc-headers.patch |  34 ++
 .../0024-Fix-lib-paths-for-OpenEmbedded-Host.patch |  79 ++++
 ...library-search-path-for-OpenEmbedded-Host.patch |  84 ++++
 .../0026-lldb-Link-with-libatomic-on-x86.patch     |  33 ++
 ...027-compiler-rt-Enable-__int128-for-ppc32.patch |  73 +++
 ...-Do-not-use-cmake-infra-to-detect-libzstd.patch |  62 +++
 ...ler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch |  46 ++
 ...-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch |  43 ++
 ...s-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch |  81 ++++
 ...vm-Add-OE-specific-ABI-triple-for-N32-ABI.patch |  78 ++++
 ...d-libunwind.pc.in-and-llvm-config-scripts.patch |  90 ++++
 ...py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch |  92 ++++
 ...r-rt-Do-not-pass-target-to-clang-compiler.patch |  29 ++
 .../clang/clang/0036-Fix-build-on-ppc64-musl.patch |  97 ++++
 ...d-a-build-option-to-disable-building-dexp.patch |  85 ++++
 ...itter-sort-ClassInfo-lists-by-name-as-we.patch} |   4 +-
 ...-remove-LLVM_LDFLAGS-from-ldflags-output.patch} |  12 +-
 ...ot-emit-date-and-time-into-generate-files.patch |  37 ++
 .../clang}/spirv-internal-build.patch              |   0
 .../clang}/spirv-shared-library.patch              |   0
 meta/recipes-devtools/clang/clang_git.bb           | 498 +++++++++++++++++++++
 meta/recipes-devtools/clang/common-clang.inc       |  24 +
 meta/recipes-devtools/clang/common-source.inc      |  17 +
 meta/recipes-devtools/clang/common.inc             |  87 ++++
 .../clang/compiler-rt-sanitizers_git.bb            | 139 ++++++
 meta/recipes-devtools/clang/compiler-rt_git.bb     | 135 ++++++
 meta/recipes-devtools/clang/libcxx_git.bb          | 119 +++++
 meta/recipes-devtools/clang/llvm-project-source.bb |  12 +
 .../recipes-devtools/clang/llvm-project-source.inc |  99 ++++
 .../recipes-devtools/clang/nativesdk-clang-glue.bb |  36 ++
 meta/recipes-devtools/clang/openmp_git.bb          |  67 +++
 .../0007-llvm-allow-env-override-of-exe-path.patch |  36 --
 meta/recipes-devtools/llvm/llvm/llvm-config        |  54 ---
 meta/recipes-devtools/llvm/llvm_20.1.2.bb          | 233 ----------
 65 files changed, 3783 insertions(+), 337 deletions(-)
---
base-commit: 576c4fd9e0b571c3ee37f67f25a51fe68466eac3
change-id: 20250423-clang-merge-ca9130ae95af

Best regards,
-- 
Khem Raj <raj.khem@gmail.com>



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

end of thread, other threads:[~2025-04-25 17:25 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24  7:20 [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang Khem Raj
2025-04-24  7:20 ` [PATCH 01/11] cmake-native.bbclass: Abstraction to use cmake with native toolchains Khem Raj
2025-04-24 10:48   ` [OE-core] " Alexander Kanavin
2025-04-25  0:38     ` Khem Raj
2025-04-24  7:20 ` [PATCH 02/11] llvm: Renamed to clang Khem Raj
2025-04-24  9:05   ` Dmitry Baryshkov
2025-04-24 16:59     ` Khem Raj
2025-04-24  7:20 ` [PATCH 03/11] maintainers.inc: Add myself as maintainer for clang family of recipes Khem Raj
2025-04-24  7:20 ` [PATCH 04/11] clang: Merge llvm/clang family recipes from meta-clang Khem Raj
2025-04-24  9:05   ` Dmitry Baryshkov
2025-04-25  1:29     ` Khem Raj
2025-04-25  8:42       ` Dmitry Baryshkov
2025-04-25 14:46         ` Khem Raj
2025-04-25 17:25           ` Dmitry Baryshkov
2025-04-24  9:18   ` Dmitry Baryshkov
2025-04-24 17:03     ` Khem Raj
2025-04-24  7:20 ` [PATCH 05/11] kernel-arch.bbclass: Do not use weak assignment for TOOLCHAIN Khem Raj
2025-04-24  7:20 ` [PATCH 06/11] clang: remove LLVM_LDFLAGS from llvm-config --ldflags output Khem Raj
2025-04-24  9:10   ` Dmitry Baryshkov
2025-04-24 18:20     ` Khem Raj
2025-04-24  7:20 ` [PATCH 07/11] clang.inc: Remove duplicate RANLIB setting Khem Raj
2025-04-24  7:20 ` [PATCH 08/11] clang: multilib-header fix for llvm-config.h Khem Raj
2025-04-24  9:06   ` Dmitry Baryshkov
2025-04-24 18:20     ` Khem Raj
2025-04-24  7:20 ` [PATCH 09/11] openmp: Omit time stamps from generated files Khem Raj
2025-04-24  7:20 ` [PATCH 10/11] sstatesig: Handle special case of llvm-project-source shared-workdir Khem Raj
2025-04-24  9:11   ` Dmitry Baryshkov
2025-04-24 18:21     ` Khem Raj
2025-04-24  7:20 ` [PATCH 11/11] multilib.conf: Add llvm-project-source recipe to NON_MULTILIB_RECIPES Khem Raj
2025-04-24 10:04 ` [PATCH 00/11] clang-merge: Bring clang recipes from meta-clang Dmitry Baryshkov
2025-04-25  0:44   ` Khem Raj
2025-04-25  8:45     ` Dmitry Baryshkov

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