summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang_git.bb
Commit message (Collapse)AuthorAgeFilesLines
...
* clang, llvm-rutime: Turn per target runtime off and use RelWithDebInfo for buildKhem Raj2022-09-121-1/+2
| | | | | | | | | | | clang can now build multiarch runtimes like debian's setup, but not all arches work equally well, e.g. arm32 bit can not handle arm and armhf case, so lets disable it for now. Use DCMAKE_BUILD_TYPE=RelWithDebInfo as it is needed to set DCMAKE_BUILD_TYPE in 15.x Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to clang 15.0.0 releaseKhem Raj2022-09-121-0/+1
| | | | | | | | | | | | | | | | | | Drop upstreamed patches and forward port the remaining to latest sourcess llvm: Fix libzstd detection with zstd cmake files Release Notes [1] [2] [3] [4] [5] [6] [1] https://github.com/llvm/llvm-project/blob/release/15.x/clang/docs/ReleaseNotes.rst [2] https://releases.llvm.org/15.0.0/docs/ReleaseNotes.html [3] https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html [4] https://releases.llvm.org/15.0.0/tools/lld/docs/ReleaseNotes.html [5] https://releases.llvm.org/15.0.0/projects/libcxx/docs/ReleaseNotes.html [6] https://releases.llvm.org/15.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Fix native and nativesdk builds for hf targetsEsben Haabendal2022-07-051-1/+2
| | | | | | | | | | Setting the ${HF} variable based on ${TUNE_CCARGS_MFLOAT} does only make sense for target builds, as it defines arguments for target. Without this fix, building with hf machine configuration will cause problems, as native and nativesdk triplets will be include "hf", something like "x86_64hf-linux", which is wrong and not recognized by LLVM build/configuration system. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
* lldb: Disable builds for ppc32Khem Raj2022-03-101-0/+1
| | | | | | | | ppc32 build fails, disable for now NativeThreadLinux.cpp:(.text._ZN12lldb_private13process_linux17NativeThreadLinuxC2ERNS0_18NativeProcessLinuxEy+0x84): undefined reference to `lldb_private::process_linux::NativeRegisterContextLinux::CreateHostNativeRegisterContextLinux(lldb_private::ArchSpec const&, lldb_private::process_linux::NativeThreadLinux&)' Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to upcoming clang14 release branchKhem Raj2022-02-161-4/+16
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Create cross symlinks for more binutilsKhem Raj2021-12-151-1/+2
| | | | | | | | | This helps in creating cross utilities to be used during OE cross builds as noted in Issue #491 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add packageconfig for lldb lua supportKhem Raj2021-12-151-0/+1
| | | | | | Ensures right dependencies are added, and keep it off by default Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Set CLANG_DEFAULT_PIE_ON_LINUX to ONKhem Raj2021-12-141-0/+1
| | | | | | This is new variable added in clang 14+ to defaultl to PIE Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: don't use lnrRoss Burton2021-11-101-1/+1
| | | | | | lnr is deprecated, simply use ln -rs instead. Signed-off-by: Ross Burton <ross.burton@arm.com>
* clang_git: disable LLD usageDavid Abdurachmanov2021-10-201-0/+1
| | | | | | | | | This will resolve issue with SDK relocation. See: https://github.com/kraj/meta-clang/issues/119 Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang: Fix build when using RUNTIME = llvmKhem Raj2021-09-271-0/+2
| | | | | | | | | | | | We can not use nativesdk variants of libcxx and compiler-rt yet when compiling nativesdk-clang because, it will need this compiler to build them, so solve this catch-22, since we do not use the runtime built during compiler builds, use libgcc/libstdc++ to pass cmake tests during configure, this should be fine as it will be not needed for final builds where nativesdk-clang will be used, it can still default to llvm runtime on SDK host Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang/compiler-rt: Convert to new override syntaxKhem Raj2021-08-121-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta-clang: Convert to new override syntaxSigned-off-by: Martin Jansa2021-08-031-45/+45
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: fix do_package error when multilib enabledChangqing Li2021-07-051-2/+2
| | | | | | | | | After enable multilib, libdir is /usr/lib64, but in llvm's CMakelist.txt, the install path is hardcode as /usr/lib eg: ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} Signed-off-by: Changqing Li <changqing.li@windriver.com>
* clang: Update to latest on main/13.0 lineKhem Raj2021-06-241-0/+2
| | | | | | Package new content for scanbuild and libear Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Default to compiler-rt/libcxx/libunwind when RUNTIME = "llvm"Khem Raj2021-06-081-5/+9
| | | | | | | | | | | | This ensures that compiler defaults are defaulting to llvm provided c/c++ runtimes which includes c-runtime, c++runtime, unwinder and omp runtime, current approach is to inject commandline options but it does not get passed in all cases and a lot of smaller/big patches are used to make such package recipes behave If RUNTIME = "gnu" then defaults stay to use gcc runtime as it is Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: Do not build for mips as wellKhem Raj2021-06-081-4/+7
| | | | | | | lldb-server is not fully ported for mips yet see https://reviews.llvm.org/D102872 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Upgrade to trunk/13.0 future seriesKhem Raj2021-06-081-2/+5
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Do not use lld for building nativsdk clangKhem Raj2021-04-081-1/+0
| | | | | | | | | While we can, it does not have the sspace for path dance that yocto does for relocable SDK which means clang components may end up being non-relocatable when SDK is installed in longer paths. So for now pay the price of switching back to binutils linker Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Install lld for target buildsZoltán Böszörményi2021-03-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLDTargets.cmake (generated and installed by the lld build) references lld this way: add_executable(lld IMPORTED) set_property(TARGET lld PROPERTY ENABLE_EXPORTS 1) This way lld can be used by plugins to get their symbols from, pretty much like PHP modules that resolve their symbols from the php executable during runtime linking. At least https://github.com/RadeonOpenCompute/ROCm-CompilerSupport uses lld's cmake files as opposed to using only llvm and previously failed with: | The imported target "lld" references the file | | ".../tmp-sicom-glibc/work/corei7-64-sicom-linux/amd-comgr/4.0.0-r0/recipe-sysroot/usr/bin/lld" | | but this file does not exist. Possible reasons include: | | * The file was deleted, renamed, or moved to another location. | | * An install or uninstall procedure did not complete successfully. | | * The installation package was faulty and contained Extending SYSROOT_DIRS with ${bindir} would break crosscompiling since CMake found clang/clang++ from recipe-sysroot in this case. Install lld into sysroot-destdir but nothing else. Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
* clang: Use shared-libs when building native clang as wellKhem Raj2021-03-011-1/+1
| | | | | | | | | This ensures that llvm-config works properly, since target clang is building shared libs, we should match it on clang native and nativesdk as well, this helps in cross compiling packages which depend on llvm-config to get llvm libs list during build/link Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 12.0.0 RC2Khem Raj2021-03-011-2/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Merge llvm-common into clangZoltán Böszörményi2021-02-181-0/+8
| | | | Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
* lto: Override LTO variable from oe-core for thin-ltoKhem Raj2020-11-131-3/+3
| | | | | | If thin-lto is used in DISTRO_FEATURES then enable thin-lto Signed-off-by: Khem Raj <raj.khem@gmail.com>
* build shared nativesdk clangDaniel Dittmann2020-10-211-1/+1
| | | | Signed-off-by: Daniel Dittmann <daniel.dittmann@rohde-schwarz.com>
* Disable LLDB on riscv{32,64}David Abdurachmanov2020-10-161-1/+6
| | | | | | | | | There is no upstream support for RISCV in LLDB at this point thus disable it. Not disabling it would result in undefined references due to lack of RISCV implementation. Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Fix get_clang_arch and LLVM targetsDavid Abdurachmanov2020-10-161-2/+2
| | | | | | | | | | | | | | | | | | | LLVM_TARGET_ARCH must be riscv32 or riscv64, which results in LLVM_NATIVE_ARCH being RISCV. We cannot pass RISCV to LLVM_TARGET_ARCH as that will cause "Unknown architecture" error at configure time. We already have all architectures listed in LLVM_TARGETS_TO_BUILD thus there is no need to append additional ones. That results in LLVM_NATIVE_ARCH being listed multiple times, e.g.: -DLLVM_TARGETS_TO_BUILD='AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;RISCV;RISCV;RISCV' Furthermore get_clang_host_arch(), get_clang_target_arch() and get_clang_arch() now return riscv32 or riscv64, which is not a valid value for -DLLVM_TARGETS_TO_BUILD. The valid value is RISCV here. Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Allow riscv32 and riscv64 in COMPATIBLE_HOSTDavid Abdurachmanov2020-10-161-3/+0
| | | | | Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Define LLVM_HOST_TRIPLEKhem Raj2020-10-151-0/+1
| | | | | | This helps ensure that lldb-server gets correct tripets on target Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Match Build targets for host and target clangKhem Raj2020-10-031-9/+5
| | | | | | | | | | | | | This is to help llvm-config detect settings correctly, without this mesa fails to build with llvm-pipe Fixes | File "/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/mesa/2_20.1.8-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/me sonbuild/dependencies/dev.py", line 284, in _set_new_link_args | mode = self.get_config_value(['--shared-mode'], 'link_args')[0] | IndexError: list index out of range Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Do not build all native targets for target as wellKhem Raj2020-10-021-2/+8
| | | | | | | | | | | | | | Just build BPF and AMDGPU (needed by mesa) when building target clang along with the target arch Pass -DNDEBUG -g0 to CXXFLAGS to strip debug info, current amount of debug info is is humungous ( even with -g1 ) some binaries are > 1G in size, it takes a long time to link them and also package them since we have a strip debug info step which takes forever This should speedup clang build significantly Signed-off-by: Khem Raj <raj.khem@gmail.com>
* make file command output in brief mode when searching for binaries to stripDaniel Wagener2020-09-251-2/+2
| | | | | | | otherwise we grep around in the absolute path to the binary which leads to false positives when e.g. user THelfer put their tree under ~ Signed-off-by: Daniel Wagener <daniel.wagener@kernelconcepts.de>
* clang: Create symlinks with cross compile tuplesKhem Raj2020-09-251-0/+3
| | | | | | | | | This helps in running ptests e.g. perl which encodes the compiler during cross-compile and it is <cross-compile>-clang and not simply `clang` since these tests are configured and compiled on build host and run on target, its requied to have same names on target as well. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: fix build failure, unrecogn. link option '-fuse-ld=gold' (#368)Winfried Dobbe2020-09-111-1/+1
| | | | | | | | | Command 'bitbake <myimage> -c populate_sdk' fails with clang-9: error: invalid linker name in argument '-fuse-ld=gold'. Using the lld linker fixes the problem. This commit resolves #368 . Signed-off-by: Winfried Dobbe <winfried.dobbe@xmsnet.nl>
* clang: Add packageconfig to select default unwinderKhem Raj2020-08-011-0/+1
| | | | | | | | | | a choice is needed to be made for selecting unwinder library defaults ( --unwindlib ), by default we choose libgcc unwinder when packageconfig is disabled and only use llvm unwinder when this option is enabled Fixes Issue #332 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: add lldb, lldb-server, liblldb packagesMaxime Roussin-Bélanger2020-04-271-1/+17
| | | | | | With lldb split in multiple packages it reduces the size of the `clang` package and you can now install lldb, lldb-server and liblldb without h having the whole clang fat package.
* clang: Fix libedit packageconfig flagPhilip Lorenz2020-02-241-2/+2
| | | | | | | LLDB_DISABLE_LIBEDIT was renamed to LLDB_ENABLE_LIBEDIT in 62456e579eebe012e5a6ebcf9960aef9d7babf87. Signed-off-by: Philip Lorenz <philip@bithub.de>
* clang: package the multilib symlinkDaniel McGregor2020-01-201-1/+9
| | | | | | | | | We need to muck with the default packaging a bit to prevent libdir/clang subdirectories from being packaged, and instead use nonarch_libdir. Otherwise the packager complains about directories being beneath a symlink. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
* clang: stay closer to cmake.bbclassDaniel McGregor2020-01-201-29/+37
| | | | | | | | | | | Allow more of the cmake variables coming from the OE environment through, otherwise the release C flags and CXX flags get reset to LLVM's default, which greatly extend build times. Also switch to using cmake.bbclass's do_compile and do_install commands. There's no need to call ninja directly anymore. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
* clang: Use git suffix instead of svnKhem Raj2020-01-051-2/+3
| | | | | | | | | | src uri has long moved to git, and that is also being used as solib suffix Fixes packaging errors ERROR: clang-10.0.0-r0 do_package_qa: QA Issue: libclang rdepends on clang-dev [dev-deps] ERROR: clang-10.0.0-r0 do_package_qa: QA Issue: clang rdepends on clang-dev [dev-deps] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Turn split-dwarf setting into a packageconfig knobKhem Raj2019-12-261-1/+1
| | | | | | | Disable it by default, since centos7/gcc4.8 can't handle it Fixes Issue #262 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Use LLVM_USE_SPLIT_DWARF=ONKhem Raj2019-12-181-2/+1
| | | | | | | | | | | This helps in consuming less memory during link stage and also fixed link failures on mips64 Using clang cross itself ends up crashing | clang-9: error: unable to execute command: Killed | clang-9: error: linker command failed due to signal (use -v to see invocation) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Fix cmake exports sed variable using incorrect nameMichael Davis2019-12-171-1/+1
| | | | Signed-off-by: Michael Davis <michael.davis@essvote.com>
* clang: Enable lto when asked for via DISTRO_FEATURESKhem Raj2019-12-071-1/+1
| | | | | | | | | add 'thin-lto' or 'full-lto' to DISTRO_FEATURES to enable it instead of making it unconditional Should fix Issue #236 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: ensure correct python for nativesdk buildsrchard2scout2019-12-071-0/+1
| | | This fixes #162 for nativesdk-clang.
* clang: Fix cmake exports not finding native binaries Issue #230Michael Davis2019-12-051-0/+13
| | | | | Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: enable AMDGPU for all targetsJustin Bronder2019-11-261-2/+2
| | | | | | | | | | In 003dd05e4c168f7c3cccb9cbfad3fd8f38fe8741, clang replaced the oe-core provided llvm for building mesa. However, mesa needs AMDGPU to be enabled on the native target in order to build. Following the example of oe-core's recipe, just enable AMDGPU for all targets. Signed-off-by: Justin Bronder <jsbronder@cold-front.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Revert "clang: Do not lock clang as only cross compiler option"Khem Raj2019-11-181-0/+1
| | | | | | This reverts commit cb86d1f837f8f8c40e8b00c9c29d136ed6a16a08. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Do not lock clang as only cross compiler optionKhem Raj2019-11-161-1/+0
| | | | | | | | clang might be used for more than just static compiler on target and therefore lock-stepping it with needing clang cross-compiler is not right thing Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: make libedit optionalYong, Jonathan2019-11-151-5/+6
| | | | | | | | | | Allows libedit to dependency to be disabled via PACKAGECONFIG_remove. add libedit to native and nativesdk packageconfigs Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>