summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang_git.bb
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* clang: Provide llvm/llvm-nativeKhem Raj2019-11-141-4/+13
| | | | | | | | | | | | | | | | | | | When using meta-clang, it makes sense to use llvm provided by clang recipe, this ensures that we do not build llvm from oe-core but instead offer the one from clang recipe enable rtti and eh for native/nativesdk clang, this is needed for mesa to build Let clang PROVIDE llvm Build AMDGNU and other targets, this is needed for llvm-config to work properly, since we use llvm-config from clang-native, so its better to build the targets that are built for clang-native atleast create version specific symlinks for tblgen anf llvm-config Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: add rtti and eh as packageconfigMaxime Roussin-Bélanger2019-09-301-2/+3
| | | Keep ON for default behavior
* clang: Enable clang-tools-extraKhem Raj2019-09-241-1/+1
| | | | | | Some handy tools like clang-tidy, clangd, and more Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: pass PYTHON_EXECUTABLE to target as wellAnuj Mittal2019-09-181-0/+1
| | | | | | | Also make sure that we pass this value on to an internal native build that tries to detect python while cross-compiling. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* clang: support multilibAnuj Mittal2019-09-181-0/+1
| | | | | | Pass LLVM_LIBDIR_SUFFIX with the correct value of lib suffix. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* add lldb-wchar packageconfig optionJeremy Puhlman2019-09-161-2/+3
| | | | | | | | | | | | | | | | Turn off wchar in editline for native and nativesdk | In file included from /build/poky/build/tmp/work-shared/llvm-project-source-9.0.0-r0/git/lldb/source/Core/IOHandler.cpp:31:0: | /build/poky/build/tmp/work-shared/llvm-project-source-9.0.0-r0/git/lldb/include/lldb/Host/Editline.h:36:19: | fatal error: codecvt: No such file or directory | #include <codecvt> | ^ wchar causes codecvt to be included, which does not exist on centos7, which prevents clang-native from building. Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add libxml2-native libedit-native to dependsKhem Raj2019-09-151-4/+7
| | | | | | | pkgconfig is needed for detecting libedit python3-dir is already inherited in python3native so remove it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Turn bootstrapping into a packageconfigKhem Raj2019-09-141-22/+16
| | | | | | | | | | This helps to enable/disable it on demand, currently we have some problems with stage2 not respecting PYTHON_EXECUTABLE e.g. which can cause problems when we have non-standard local installs of python, this should actually be fixed in llvm CMake infra, but we insulate ourselves here first Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Define BINPATHPREFIXKhem Raj2019-09-141-4/+6
| | | | | | This is to make stage2 as an optional step maybe a packageconfig Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: make sure python3 is used for native buildsMartin Jansa2019-09-141-1/+2
| | | | | | | | | | | * with /usr/bin/python -> python2.7 on the host, I was seeing: CMake Error at work-shared/llvm-project-source-9.0.0-r0/git/lldb/cmake/modules/LLDBConfig.cmake:229 (message): Found incompatible Python interpreter (2.7) and Python libraries (3.7) Call Stack (most recent call first): work-shared/llvm-project-source-9.0.0-r0/git/lldb/CMakeLists.txt:20 (include) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Fix installation of clang-tblgen and lldb-tblgenDamian Wrobel2019-09-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Fixes: | install: cannot stat ‘/data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/work/x86_64-linux/clang-native/9.0.0-r0/build/bin/clang-tblgen’: No such file or directory | WARNING: /data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/work/x86_64-linux/clang-native/9.0.0-r0/temp/run.do_install.25108:1 exit 1 from 'install -Dm 0755 /data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/work/x86_64-linux/clang-native/9.0.0-r0/build/bin/clang-tblgen /data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/work/x86_64-linux/clang-native/9.0.0-r0/image/data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/sysroots/x86_64-linux/usr/bin/clang-tblgen' $ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) The location of the tools is as following: $ pwd /data/dwrobel1/onemw/onemw/oe-builds/chromium-3/onemw/build-brcm97449svms-refboard/tmp/work/x86_64-linux/clang-native/9.0.0-r0/build $ find . -name clang-tblgen ./tools/clang/stage2-bins/bin/clang-tblgen ./tools/clang/stage2-bins/NATIVE/bin/clang-tblgen ./NATIVE/bin/clang-tblgen $ find . -name lldb-tblgen ./tools/clang/stage2-bins/bin/lldb-tblgen ./tools/clang/stage2-bins/NATIVE/bin/lldb-tblgen Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Let cmake figure out python version for nativeKhem Raj2019-09-121-8/+9
| | | | | | supply python3 for nativesdk and target recipes Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Disable target clang for riscvKhem Raj2019-09-121-0/+3
| | | | | | | | | Its not supported as native host _yet_ CMake Error at cmake/config-ix.cmake:438 (message): Unknown architecture riscv Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: correct typo errorNaveen Saini2019-09-101-1/+1
| | | | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>