summaryrefslogtreecommitdiffstats
path: root/recipes-devtools
Commit message (Collapse)AuthorAgeFilesLines
* clang.bbclass,compiler-rt: Do not set -target for native clangKhem Raj2025-03-213-24/+38
| | | | | | | | | | | | | | | | | | | | | | | | | When building native recipes using clang as native compiler e.g. compiler-rt-native, setting -target can be out of sync with the underlying distro's understanding of gcc tuple e.g. aarch64-linux or aarch64-linux-gnu, which is used by distros to house the gcc runtime e.g. on ubuntu /usr/lib/gcc/aarch64-linux-gnu/11 /usr/lib/gcc/aarch64-linux-gnu/9 if we provide -target its not able to deduce it from the build host which is required for native packages try with recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -v or recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -target aarch64-linux -v to see the difference Signed-off-by: Khem Raj <raj.khem@gmail.com>
* include-what-you-use: Upgrade to 0.23+ releaseKhem Raj2025-03-211-2/+6
| | | | | | | | | | Use IWYU_RESOURCE_RELATIVE_TO=iwyu License-Update: Copyright year incremented [1] [1] https://github.com/include-what-you-use/include-what-you-use/commit/414d6f760caba8068b208d31125409a60930df69 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* castxml: Upgrade to 0.6.11Khem Raj2025-03-211-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Upgrade to clang 20.1 branchKhem Raj2025-03-211-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 20.x releaseKhem Raj2025-03-2137-147/+189
| | | | | | | | | | | Release Notes clang-extra-tools [4] lld [3] clang [2] llvm [1] [1] https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html [2] https://releases.llvm.org/20.1.0/tools/clang/docs/ReleaseNotes.html [3] https://releases.llvm.org/20.1.0/tools/lld/docs/ReleaseNotes.html [4] https://releases.llvm.org/20.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fix: [Issue #1061] - check for existence before trying to process a fileaprospero2025-03-171-2/+6
| | | | | | | | | | | | | | In certain configurations LLVMConfig.cmake does not exist. If that's the case do_install breaks for the nativesdk-clang recipe. Eg. set the following: EXTRA_OECMAKE:append:pn-nativesdk-clang = " -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON" as suggested here: https://llvm.org/docs/BuildingADistribution.html Signed-off-by: aprospero <apro@posteo.de>
* clang: set BPN = "clang" for clang cross,crosssdk,cross-canadian recipesHongxu Jia2025-02-246-0/+12
| | | | | | | | | | | | | | Similar gcc recipes in oe-core [1], set BPN = "clang" in common.inc for clang cross,crosssdk,cross-canadian recipes, but the recipe compiler-rt-sanitizers, compiler-rt, libclc, libcxx, openmp which shares sources with clang are not affected Due to commit [2], the BPN of llvm-project-source is not affected by this commit [1] https://github.com/openembedded/openembedded-core/commit/a2c5509520d5c3e082f55844e6545d0309565f8f [2] https://github.com/kraj/meta-clang/commit/e7517e1910a7d49abb4782fa0778f0b958f7717d Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* recipes: Update to match OE-Core virtual/cross-* changesRichard Purdie2025-01-217-7/+7
| | | | | | | Update meta-clang to match OE-Core changes to use recipe specific virtual providers (without yet switching to the new switching mechanism). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: Upgrade to 19.1.7Khem Raj2025-01-182-2/+2
| | | | | | | | | | | Changes described here https://discourse.llvm.org/t/llvm-19-1-7-released/84062 Brings [1] [1] https://github.com/llvm/llvm-project/compare/llvmorg-19.1.6...llvmorg-19.1.7 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bingen-cli: Upgrade to 0.71.1Goetz2025-01-072-109/+109
| | | | | | | | | | | | | | Related to some issues in my project with compiling aws-lc-rs, issue https://github.com/aws/aws-lc-rs/issues/591, I updated to the current version. Tested on my project https://github.com/MrTarantoga/SpotyPee/commit/f83b2a0c32f28af2c81069ced5b9942bbb98d25a and with the poky standard arm environment. Changelog https://github.com/rust-lang/rust-bindgen/releases/tag/v0.71.1 Signed-off-by: Götz Grimmer <goetz-dev@web.de>
* clang: Upgrade to 19.1.6Khem Raj2024-12-252-2/+2
| | | | | | | | Brings following changes [1] [1] https://github.com/llvm/llvm-project/compare/llvmorg-19.1.5...llvmorg-19.1.6 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 19.1.5 releaseKhem Raj2024-12-172-2/+2
| | | | | | | Changes https://discourse.llvm.org/t/llvm-19-1-5-released/83455 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove PROVIDES:append settingsChen Qi2024-12-021-3/+0
| | | | | | | | | | | | | | | | | | | | With these settings, we'll have multiple providers of llvm. This means that with pristine poky master + meta-clang master, we'll have some output like below: NOTE: Multiple providers are available for llvm-native (llvm-native, clang-native) Consider defining a PREFERRED_PROVIDER entry to match llvm-native And when running 'bitbake world', we'll get error messages like below: ERROR: Multiple .bb files are due to be built which each provide llvm-native: virtual:native:/PATH/TO/poky/meta/recipes-devtools/llvm/llvm_19.1.4.bb virtual:native:/PATH/TO/Yocto/poky/meta-clang/recipes-devtools/clang/clang_git.bb As the README.md has already specified how to use this layer, let's remove such settings before sorting things out. Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
* clang: Upgrade to 19.1.4Khem Raj2024-11-2847-190/+161
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang_git.bb: assign PYTHON_PN to LLDB_PYTHON_EXE_RELATIVE_PATHJan Kircher2024-10-241-2/+2
| | | | Signed-off-by: Jan Kircher <jan.kircher@leica-microsystems.com>
* clang: Upgrade to 19.1.2 releaseKhem Raj2024-10-162-9/+9
| | | | | | | | | Release has changes as mentioned in [1] and [2] [1] https://discourse.llvm.org/t/llvm-19-1-1-released/82321 [2] https://discourse.llvm.org/t/llvm-19-1-2-released/82550 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* llvm-project-source.inc: fix racing on building ↵Hongxu Jia2024-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lib32-llvm-project-source-19.1.0 and llvm-project-source-19.1.0 While enabling multilib, build lib32-llvm-project-source-19.1.0 and llvm-project-source-19.1.0 at the same time: $ MACHINE = "qemux86-64" $ require conf/multilib.conf $ MULTILIBS = "multilib:lib32" $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86" $ bitbake lib32-llvm-project-source-19.1.0 llvm-project-source-19.1.0 ... $ cat tmp/work-shared/llvm-project-source-19.1.0-r0/temp/log.task_order 20241012-070604.819630 do_recipe_qa (2728706): log.do_recipe_qa.2728706 20241012-070604.883194 do_recipe_qa (2728707): log.do_recipe_qa.2728707 20241012-070605.037448 do_fetch (2728779): log.do_fetch.2728779 20241012-070605.165280 do_fetch (2728848): log.do_fetch.2728848 20241012-071030.798104 do_unpack (2733554): log.do_unpack.2733554 20241012-071030.864536 do_unpack (2733559): log.do_unpack.2733559 There are two tasks for do_fetch, do_unpack and others, so there are race issues. Both of them have the same hardcode 'llvm-project-source-' prefix in ${WORKDIR} and ${S}, explicitly disable lib32-llvm-project-source-19.1.0 for multilib Set llvm-project-source as BPN of llvm-project-source-19.1.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* clang: Do not override default ld with ld.lldKhem Raj2024-10-101-0/+1
| | | | | | | | | | | This creates a problem when swapping linkers, it does not work without cleaning the recipe first, in anycase if we want to use lld as default in clang then it should be done during clang compile Add packageconfig to let clang defualt Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Do not package clang-pseudo clang-pseudo-gen and clang-renameKhem Raj2024-09-261-6/+9
| | | | | | | | | These tools are unmaintained and clang-20+ has removed them [1] [2] [1] https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935 [2] https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-cffi: Ad clang to rdeps for ptests to passKhem Raj2024-09-181-0/+5
| | | | | | | ptest tries to compile some portions on the target and demands the compiler that was used to cross-compile it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: Enable on RISCV64Khem Raj2024-09-181-2/+1
| | | | | | With clang-19 LLDB is building fine for RISCV64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: scan-build-py: respect LLVM_LIBDIR_SUFFIX like other tools doMartin Jansa2024-09-182-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * other libraries are installed in 'lib64' or 'lib32' based on LLVM_LIBDIR_SUFFIX value, but libscanbuild files were always installed in 'lib' * fixes: ERROR: QA Issue: lib32-clang: Files/directories were installed but not shipped in any package: /usr/lib/libscanbuild /usr/lib/libscanbuild/intercept.py /usr/lib/libscanbuild/analyze.py /usr/lib/libscanbuild/clang.py /usr/lib/libscanbuild/report.py /usr/lib/libscanbuild/arguments.py /usr/lib/libscanbuild/shell.py /usr/lib/libscanbuild/compilation.py /usr/lib/libscanbuild/__init__.py /usr/lib/libscanbuild/resources /usr/lib/libscanbuild/resources/sorttable.js /usr/lib/libscanbuild/resources/selectable.js /usr/lib/libscanbuild/resources/scanview.css Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. lib32-clang: 13 installed and not shipped files. [installed-vs-shipped] e.g. in multilib build where libdir is set to /usr/lib32 or /usr/lib64. Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 19.1.0 releaseKhem Raj2024-09-1839-367/+255
| | | | | | | | | | | | Release Notes below llvm - https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html clang - https://releases.llvm.org/19.1.0/tools/clang/docs/ReleaseNotes.html lld - https://releases.llvm.org/19.1.0/tools/lld/docs/ReleaseNotes.html libc++ - https://releases.llvm.org/19.1.0/projects/libcxx/docs/ReleaseNotes.html clang-extra - https://releases.llvm.org/19.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Bump to release_190Khem Raj2024-09-181-4/+4
| | | | | | Fixes build with clang-19 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* include-what-you-use: Upgrade to tip of trunkKhem Raj2024-09-021-2/+2
| | | | | | Brings clang-19 support Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Revert "libcxx: Do not induce -mbranch-protection externally on arm64"Jose Quaresma2024-08-211-1/+0
| | | | | | | | This reverts commit 96b2f3da50c8cf814f661fba37df0a098457b016. The is required to be applied globally and not only for libcxx. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
* Revert "rust-llvm: Fix build with clang-18"Khem Raj2024-08-202-355/+0
| | | | This reverts commit 292506c431f2037d35ccb7f4f957ce143b617450.
* Update libcxx_git.bbOiouuu2024-08-201-1/+1
| | | Fix syntax error, '-DD' -> '-D'
* compiler-rt-sanitizers: Package a symlink to address headers include issueKhem Raj2024-08-111-13/+13
| | | | | | | | | Instead of moving the whole install under major.minor.patch, create a symlink so both can be included Fixes https://github.com/kraj/meta-clang/issues/978 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Set -DLLVM_APPEND_VC_REV=OFFKhem Raj2024-08-096-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Issue #991 If this is not disabled, the build tries to use CMake magic to compute repository and sha1 its building, however in case of OE it gets it completely wrong when building from tarball, because its building under TMPDIR which maybe a directory under main repo checkout e.g. poky tree so it traverses up and finds the sha of poky and assumes that its building from a git tree instead of tarball and emits the version control info into clang -v output e.g. ❯ ../image/mnt/b/yoe/master/build/tmp/work/x86_64-linux/clang-native/20.0.0/recipe-sysroot-native/usr/bin/clang -v clang version 20.0.0 (/home/kraj/work/llvm-project f133c59b33a749dc6d5fa8fb9a2366b95ea45068) This can contain buildpaths since work-shared is where llvm sources will be and they will appear here. Therefore, avoid cmake trying to do this and we get good clean version info > ../recipe-sysroot-native/usr/bin/aarch64-yoe-linux/aarch64-yoe-linux-clang clang version 20.0.0 This will also avoid emitting buildpaths into debuginfo in some cases where compiler version is emitted into build.id info Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libclc: use cmake-qemu to clean up recipeRoss Burton2024-08-061-14/+2
| | | | | | | The cmake-qemu class handles using qemu-user as a CMake emulator, so use that and clean up the recipe. Signed-off-by: Ross Burton <ross.burton@arm.com>
* clang: improve reproducibilityOleh Matiusha2024-07-301-4/+16
| | | | | | | | | | | | | | | | | Currently, class-target is reproducible, but class-nativesdk is not. What I did: - noticed that BuildVariables.inc contains meaningless path fragments after running sed, so I adjusted sed commands to remove the rest of paths as well; - moved common code into a function, which is then called twice; - changed do_compile:prepend into do_configure:append, this is more conventional and intuitive; - verified that the resulting code works for both target and nativesdk after these changes. Signed-off-by: Oleh Matiusha <omatiush@cisco.com>
* compiler-rt-sanitizers: Fix native build tooling pathsEric Sun2024-07-291-3/+6
| | | | | | | | | | | Native builds of compiler-rt-sanitizers fail because llvm-ranlib, llvm-ar, and llvm-nm are not found where the recipe specifies that they'll be. Other recipes (in particular: compiler-rt) only specify the locations of those tools for target and nativesdk builds, and they build fine. This commit implements the same thing for compiler-rt-sanitizers, fixing native builds. Signed-off-by: Eric Sun <ericsun2@cisco.com>
* include-what-you-use: new recipeChristian Eggers2024-07-241-0/+22
| | | | | | Clang based checker for C/C++ header includes. "Experimental software, as of June 2024.", but definitely very useful. Signed-off-by: Christian Eggers <ceggers@arri.de>
* bindgen-cli: update 0.64.0 -> 0.69.4Markus Volk2024-07-222-111/+98
| | | | | | | | mesa requires at least bindgen-cli_0.65.0 https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/frontends/rusticl/meson.build#L111 Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove pointless experimental targets codeRoss Burton2024-07-111-9/+0
| | | | | | | | | | | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD is appended with the value of get_clang_experimental_target_arch() which is just the value of get_clang_experimental_arch which is always the empty string despite appearances. Thus none of this is useful, remove it. Signed-off-by: Ross Burton <ross.burton@arm.com>
* Revert "recipes-devtools/llvm/llvm_%.bbappend: fix the build of bpftrace ↵Khem Raj2024-07-101-1/+0
| | | | | | | | ptest failed" This caused meta-clang to fail check-layer-nightly builds This reverts commit 0c2b19b7ad03bba7c21b6bf111ba1a118ea9d44a.
* recipes-devtools/llvm/llvm_%.bbappend: fix the build of bpftrace ptest failedHongxu Jia2024-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | Due to commit [1][2], llvm-native was added to bpftrace to provide llvm-objcopy for the ptest. But because of commit [3], llvm-native requires opengl in DISTRO_FEATURES to support libllvm. In order to make the build of bpftrace ptest work, explicitly add libllvm to PACKAGECONFIG for llvm-native if ptest enabled. According to [2][3], bpftrace used llvm-objcopy to generate BTF data for unit tests, regardless opengl in DISTRO_FEATURES, enable accelerated software renderer or not does not have side effect on bpftrace [1] https://github.com/kraj/meta-clang/commit/bf6c02a47fb2ffec735df6c7dd642432f3681337 [2] https://github.com/bpftrace/bpftrace/commit/6cc531e35cd3bf77aa2a30cef3e3481c9c53042e [3] https://git.openembedded.org/openembedded-core/commit/?id=ec22bfa67f6f1766102501d4593ce29aafe8c166 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
* libcxx: Do not induce -mbranch-protection externally on arm64Khem Raj2024-07-041-0/+1
| | | | | | | | | | | | On arm64 OE-Core has moved the gcc default configuration done with --enable-standard-branch-protection to be a CFLAGS option which is appended to CC variable, this means that this option can override the package's default to not use it e.g. libunwind where the library has to be built without it. Fixes https://github.com/kraj/meta-clang/issues/963 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang-glue: Delete do_create_package_spdx taskKhem Raj2024-07-041-0/+1
| | | | | | | SPDX 3.0 has this task executing but other tasks which it depends on are deleted, delete this one too. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add packageconfig option for build-idKhem Raj2024-07-041-1/+2
| | | | | | | | Enable it by default, since it is needed for debuginfod to work Fixes https://github.com/kraj/meta-clang/issues/956 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Package docs related to clang-doc toolKhem Raj2024-06-281-0/+1
| | | | | | | | | | | Fixes ERROR: clang-19.0.0-r0 do_package: QA Issue: clang: Files/directories were installed but not shipped in any package: /usr/share/clang-doc /usr/share/clang-doc/clang-doc-default-stylesheet.css /usr/share/clang-doc/index.js Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove True option to getVar callsPeter Marko2024-06-261-2/+2
| | | | | | | Layer cleanup similar to https://git.openembedded.org/openembedded-core/commit/?id=26c74fd10614582e177437608908eb43688ab510 Signed-off-by: Peter Marko <peter.marko@siemens.com>
* clang: Upgrade to 18.1.8Khem Raj2024-06-242-2/+2
| | | | | | | | | | | | Brings * 3b5b5c1ec4a3 [libcxx] Align `__recommend() + 1` by __endian_factor (#90292) * 72c9425a79fd [libc++][NFC] Rewrite function call on two lines for clarity (#79141) * 443e23eed24d Bump version to 18.1.8 (#95458) Release announcement [1] [1] https://discourse.llvm.org/t/18-1-8-released/79725/1 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Disable unused-command-line-argument warning for debug buildsKhem Raj2024-06-191-0/+3
| | | | | | | | | This ensures that nativesdk compiler can be built when DEBUG_BUILD = "1" Fixes https://github.com/kraj/meta-clang/issues/932 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to 18.1.7Khem Raj2024-06-112-2/+2
| | | | | | | | | * 768118d1ad38 [clang-format] Fix a bug in formatting goto labels in macros (#92494) * 8c0fe0d65ed8 release/18.x: [clang-format] Don't always break before << between str… (#94091) * 7e6ece9b4f2d [PPCMergeStringPool] Only replace constant once (#92996) * 1ce2d26cd2e9 Bump version to 18.1.7 (#93723) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libclc: Add toolchain component pathsKhem Raj2024-05-301-4/+11
| | | | | | | cmake complains otherwise toolchain incomplete! Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: bump SRCREV to fix the buildMartin Jansa2024-05-291-2/+2
| | | | | | | | | | | | | | | | * just one extra commit: spirv-llvm-translator-native/18.1.0/git $ git log --oneline ad99707fd80189dca0ca76ed89946ae383e9a030..16b2900747a3cc7993eeb39d4a8442b432a3fda0 16b29007 [LLVM-18] Remove dependency on SPIRV-Headers for SPV_INTEL_maximum_registers (#2434) * fixes: http://errors.yoctoproject.org/Errors/Build/185272/ spirv-llvm-translator-native/18.1.0/git/lib/SPIRV/libSPIRV/SPIRVEnum.h:295:17: error: ‘CapabilityRegisterLimitsINTEL’ was not declared in this scope 295 | {CapabilityRegisterLimitsINTEL}); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* libclc: Fix build errorsKhem Raj2024-05-281-12/+4
| | | | | | | Use LIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR to define location of all llvm tools needed for build Signed-off-by: Khem Raj <raj.khem@gmail.com>
* spirv-llvm-translator: Do not use LLVMVERSIONKhem Raj2024-05-281-1/+0
| | | | | | | * Upgrade to latest on main branch * Use the default values from cmake Signed-off-by: Khem Raj <raj.khem@gmail.com>