summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang_git.bb
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* clang: Pass PYTHON_LIBRARY and PYTHON_INCLUDE_DIR to second stageKhem Raj2019-09-101-1/+1
| | | | | | This should ensure that right native python infra is used all along Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Explictly define PYTHON_LIBRARY and PYTHON_INCLUDE_DIRKhem Raj2019-09-091-2/+2
| | | | | | oe-core doesnt yet define these variables Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Rename lldb-python to have PN in nameKhem Raj2019-09-071-3/+3
| | | | | | | | | This helps in extending rules to native/nativesdk recipes fixes ERROR: nativesdk-clang-9.0.0-r0 do_package_qa: QA Issue: nativesdk-python-lldb rdepends on nativesdk-clang-dev [dev-deps] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Define PYTHON_LIBRARY and PYTHON_INCLUDE_DIRKhem Raj2019-09-071-0/+2
| | | | | | | | - Update at the same time to latest on 9.x - Update patches to drop patch numbers - Drop lldb from search python interpreter Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Pass PYTHON_EXECUTABLE to stage2Khem Raj2019-08-261-1/+1
| | | | | | This should fix issues where its looking for python in users build host Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to stage2 as wellKhem Raj2019-08-151-0/+1
| | | | | | | | | | | Fixes CMake Error at cmake/modules/CheckCompilerVersion.cmake:105 (message): libstdc++ version should be at least 5.1 because LLVM will soon use new C++ features which your toolchain version doesn't support. You can temporarily opt out using LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN, but very soon your toolchain won't be supported. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Update clang_git.bbdburnsii2019-08-151-0/+1
|
* clang: Inherit python3native.Piotr Tworek2019-08-131-1/+1
| | | | | | | | | | | | | | | | | Without this for some reason lldb configure process manages to mix host system provided python3 interpreter with libpython provided in recipe-sysroot-native. As result the build fails with the following error message: | -- Found PythonInterp: /usr/bin/python3.6 (found version "3.6.5") ... | -- Found PythonLibs: /mnt/storage/build-purple/tmp-musl/work/x86_64-linux/clang-native/9.0.0-r0/recipe-sysroot-native/usr/lib/libpython3.7m.so (found version "3.7.4") | CMake Error at /mnt/storage/build-purple/tmp-musl/work-shared/llvm-project-source-9.0.0-r0/git/lldb/cmake/modules/LLDBConfig.cmake:204 (message): | Found incompatible Python interpreter (3.6.5) and Python libraries (3.7.4) | Call Stack (most recent call first): | /mnt/storage/build-purple/tmp-musl/work-shared/llvm-project-source-9.0.0-r0/git/lldb/CMakeLists.txt:20 (include) Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
* clang: Build lldb as part of clang unified packageKhem Raj2019-08-121-15/+15
| | | | | | | | | | | | | This helps in building lldb which now needs build tree of llvm/clang to build itself (lldb-tblgen needs the build tree) Promote RISCV to first class citizen Package additional files and depend on libedit for lldb put python lldb files into own package Signed-off-by: Khem Raj <raj.khem@gmail.com>