<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/llvm, branch master</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-05-05T17:02:48+00:00</updated>
<entry>
<title>clang: Merge llvm/clang family recipes from meta-clang</title>
<updated>2025-05-05T17:02:48+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2025-05-05T04:15:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=79030cd4c463f7fd6a716d94ab5dc7707a3fed77'/>
<id>urn:sha1:79030cd4c463f7fd6a716d94ab5dc7707a3fed77</id>
<content type='text'>
This can ensure that meta-clang does not carry them and can rely on core layer
while mesa can use them too.

Omit time stamps in openmp from generated files to improve
reproducibility

fix the issue that:
| file /usr/include/llvm/Config/llvm-config.h conflicts between attempted installs of lib32-llvm-dev-20.1.2-r0.core2_32 and llvm-dev-20.1.2-r0.core2_64

(From OE-Core rev: d77e398095228b34851762858a76640e3c2cb0ab)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: also install llvm-min-tblgen</title>
<updated>2025-04-17T10:03:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-16T15:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8629aa9f2744d3135d9f8852ff09c26be7258305'/>
<id>urn:sha1:8629aa9f2744d3135d9f8852ff09c26be7258305</id>
<content type='text'>
Some projects are picky and want to hanve llvm-min-tblgen in addition to
a normal llvm-tblgen. Install the tool to the sysroot.

(From OE-Core rev: b4acbadc16733c29024694ba0e5c0987dc7b459c)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: import build fix from meta-clang</title>
<updated>2025-04-17T10:03:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-16T15:59:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=482da5d873a46bc10e7e48c01cdb7ff65a67c4b5'/>
<id>urn:sha1:482da5d873a46bc10e7e48c01cdb7ff65a67c4b5</id>
<content type='text'>
Import a fix from meta-clang, which allows packages using LLVM to find
tools from the native sysroot.

(From OE-Core rev: 112b9d4c4c10d7ac0e2a8bc239d451b84b90c82c)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: enable more targets to build</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=18ca038b7e03ac57565c9d5d3d9f6844fea92415'/>
<id>urn:sha1:18ca038b7e03ac57565c9d5d3d9f6844fea92415</id>
<content type='text'>
Pull in the list of targets being enabled by meta-clang in order to
make the libllvm from OE-Core runtime compatible with the one built by
the clang recipe inside meta-clang.

(From OE-Core rev: 672a21e16a2f4aadc588b367f0fd1ff1df7b5c67)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: add SPIRV-LLVM-Translator support</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=377a1cd8238c92d414bc98eef4186e87372c4094'/>
<id>urn:sha1:377a1cd8238c92d414bc98eef4186e87372c4094</id>
<content type='text'>
Mesa builds require SPIRV-LLVM-Translator in order to build CLC support.
While it is possible to build it separately (like meta-clang does), it
also requires a separate clang compiler (which OE-Core doesn't provide).

Use an alternative path and build SPIRV-LLVM-Translator as a part of the
LLVM build process, lifting the requirement for the separate clang. Once
Clang is properly integrated into the OE-Core layer, this can be split
to a separate package and dropped. In order to ease migration from
meta-clang and to ease future split, PROVIDE the spirv-llvm-translator
and make the llvm-spirv package RPROVIDE spirv-llvm-translator.

(From OE-Core rev: a617aaf3ac6b1ef2f4b0aaf6ca60122425ea6a7e)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: support building libclc</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c3a1f9b863147469fde2bec18fa7081e83958e39'/>
<id>urn:sha1:c3a1f9b863147469fde2bec18fa7081e83958e39</id>
<content type='text'>
Current Mesa requires libclc in order to build Intel Gallium (iris) or
Vulkan drivers. In order to unblock Mesa updates, build libclc as a part
of the LLVM build process.

The libclc requires Clang for building, so enable Clang too via
LLVM_PROJECTS. Remove clang from the DESTDIR, so that it is only used
during the build process. Proper handling of Clang as a toolchain is a
separate and much more complicated topic. Clang is enabled for all kinds
of builds as it is a requirement for libclc to build.

Cleaning of ${datadir} has been moved to happen at the end of do_install
to be performed after do clang removal and made not to fail if
${datadir} is not empty, as libclc install files into that location.

NVPTX and SPIRV targets are enabled since they are required for the
libclc to link.

LLVM_NATIVE_TOOL_DIR is used to pass a path to the native tools built
via llvm-native instead of building them during the target and/or
nativesdk build.

The llvm-clc package is set to RPROVIDE libclc (and the recipe also
PROVIDEs libclc) in order to be compatible with the meta-clang packages
(and to be future-compatible with the split package after proper Clang
support is introduced to OE-Core).

(From OE-Core rev: 2773404dec7840e2252cfd5bf474be70d8e7888f)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: remove LLVM_LDFLAGS from llvm-config --ldflags output</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d41b5391ab43609d47041e9b2f4e03a131383e19'/>
<id>urn:sha1:d41b5391ab43609d47041e9b2f4e03a131383e19</id>
<content type='text'>
On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may
depend on exact build dir and as such be inappropriate to binaries
shared through sstate-cache. It is not possible to override this
behaviour in llvm-config since crossscripts are not being used for
native builds. Ignore LLVM_LDFLAGS for native builds.

(From OE-Core rev: a93d2bdf5c0cf1c2c08d99fd4ccd8d1aae0e0ba5)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: also use llvm-config wrapper for nativesdk recipes</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2ecf7ab4694edb0bdb60b3d2059ff3e3416cddc5'/>
<id>urn:sha1:2ecf7ab4694edb0bdb60b3d2059ff3e3416cddc5</id>
<content type='text'>
The recipes targeting the SDK (e.g. nativesdk-mesa) should also use the
llvm-config wrapper, otherwise they get get a lot of incorrect flags,
the most offensive being the rpath, as it results in TMPDIR being a part
of the resulting binary.

(From OE-Core rev: 4d4b02d28c8c5807c2a90402c1239ed2581eb884)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: handle libdir in llvm-config</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e6a528d4d20c648c8d5a13ac71d354d31befb638'/>
<id>urn:sha1:e6a528d4d20c648c8d5a13ac71d354d31befb638</id>
<content type='text'>
The llvm-config wrapper also needs to override a --libdir switch,
otherwise software (like mesa) end up using TMPDIR-based directory for
Clang resource lookup (and also encoding TMPDIR into the target binary).

(From OE-Core rev: c804ef9516d840e9bef717b6add77783a21a443a)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>llvm: use OECMAKE_SOURCEPATH to specify cmake dir</title>
<updated>2025-04-11T10:44:22+00:00</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@oss.qualcomm.com</email>
</author>
<published>2025-04-10T02:54:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb44b988271e6aa4f749dd50c93bec9f68ffa9b4'/>
<id>urn:sha1:bb44b988271e6aa4f749dd50c93bec9f68ffa9b4</id>
<content type='text'>
Instead of pushing an `llvm` sourcedir into S, specify it through the
OECMAKE_SOURCEPATH so that all the patches are applied to the topdir and
debug paths also use top path to map.

(From OE-Core rev: 43019c7b303da865a563fd672a699175b3d11e5a)

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
