summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
AgeCommit message (Collapse)Author
2019-08-08mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globallyKhem Raj
- Add missing dependency on libedit - Define LLVMVERSION on the same lines as GCCVERSION and other tools - Use LLVMVERSION in mesa and meson.bbclass to get llvm version instead of hardcoding it - Use llvm patches unmodified from meta-clang, helps in keeping them in sync - Define PREFERRED_VERSION for llvm, llvm-native, nativesdk-llvm (From OE-Core rev: 3c08b638348abd543fc92baf56c28ca16ae6aac6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-03llvm: fix link error for powerpcChangqing Li
fix below link error for powerpc lib/libLLVMSupport.a(CommandLine.cpp.o): in function `llvm::cl::opt_storage<(anonymous namespace): :HelpPrinterWrapper, true, true>::setLocation(llvm::cl::Option&, (anonymous namespace)::HelpPrinterWrapper&) [clone .isra.189]': /usr/src/debug/llvm/8.0-r0/git/llvm/include/llvm/Support/CommandLine.h:1218:(.text.startup+0x5c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `llvm::errs()' defined in .text section in lib/libLLVMSupport.a(raw_ostream.cpp.o)+8000 lib/libLLVMSupport.a(CommandLine.cpp.o): in function `setLocation': (From OE-Core rev: 5302047be6bcdae85a43f9b09778a91dcd03b191) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-01llvm: fix more places where '8.0' version of llvm was hardcodedAlexander Kanavin
So that it says '8.0.0' to reflect the recent PV change. (From OE-Core rev: 3b4049157a72bcd984f93405a75946a39c045f2d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-01llvm: support older toolchainsRoss Burton
LLVM is now warning if your host compiler is gcc <5.1, and some of our supported operating systems still only have 4.8.5. Set LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN so those builds continue to work, hopefully we retire the old operating systems before LLVM requires 5.1+. (From OE-Core rev: 0e7d761b1360f603a4cc0de15c67f4e182e5a6a4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-01llvm: update from 8.0.0rc2 to 8.0.0 final releaseAlexander Kanavin
Also, update PV to match the version scheme used by upstream to tag releases (e.g. major.minor.patch). (From OE-Core rev: 4405a1793a42aecd7923ab2b18df296ed8c32dc1) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: don't inherit perlnativeRoss Burton
This doesn't appear to be required at all. (From OE-Core rev: d8269db061c471d230dfd27e158f1aa5ce188e5a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: doesn't actually need pythonnativeRoss Burton
LLVM doesn't actually need pythonnative, the host Python2 is sufficient but cmake's executable searching currently isn't reliable in cross-compilations. Convince cmake by setting PYTHON_EXECUTABLE to point at python2 in the HOSTTOOLS directory. Note that currently LLVM *needs* python2 currently: https://github.com/llvm-mirror/llvm/blob/master/CMakeLists.txt#L670 (From OE-Core rev: 1587475e45edc995b7643844594abc94160a5549) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25llvm: Enable RTTI support in preparation for new mesaOtavio Salvador
The mesa 19.0.0 release requires RTTI to allow the build of Nouveau driver, which is enabled by default when building for x86 and x86-64 target. This commit enables RTTI support so it prepares the toolchain for the upcoming change. (From OE-Core rev: 8e24164606185e1d8b8eb293a30bb22760218f06) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25llvm: switch to the official git repositoryAlexander Kanavin
Until now an unoffcial mirror was used, which may or may not be maintained in the longer run, as the need for it has gone. Also, the official mirror has version tags which allows us to track upstream development in an automated manner. ${S} has changed as upstream decided to use a monorepo for all of the llvm-related projects. Further info: https://www.phoronix.com/scan.php?page=news_item&px=LLVM-GitHub-Mono-Repo https://llvm.org/docs/GettingStarted.html#checkout-llvm-from-git (From OE-Core rev: 18f565f3ca18c281b4a99721fcfcbcc5405d6346) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-05llvm,mesa: Upgrade to upcoming 8.0.0 releaseKhem Raj
License-Update: Copyright year updates from 2017-2019 Refresh patches to apply on new version mesa move dep to the llvm release to 8.0 Needs to happen along with llvm upgrade always (From OE-Core rev: 96631d53becca8408758b405adc670ad7e2ea2f3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16meta: Fix Deprecated warnings from regexsRichard Purdie
Fix handling of escape characters in regexs and hence fix python Deprecation warnings which will be problematic in python 3.8. Note that some show up as: """ meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.   """ where the problem isn't on 1293 in package.bbclass but in some _prepend to a package.bbclass function in a different file like mesa.inc, often from do_package_split() calls. (From OE-Core rev: 4b1c0c7d5525fc4cea9e0f02ec54e92a6fbc6199) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21llvm: Enable AMDGPU backend for native/native-sdk builds tooKhem Raj
(From OE-Core rev: 0053740c01f3ae49292a03686f2a6bad298d3af9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21llvm: Use HOST_ARCH in LLVM_TARGETS_TO_BUILD for buildsKhem Raj
LLVM_TARGETS_TO_BUILD is needed to represent HOST_ARCH for builds and target specific additions should use class-target override (From OE-Core rev: 5e6e08512e130951e66376ea43e4e6a98941b950) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20llvm: Use YOCTO_ALTERNATE_MULTILIB_NAME environment variable in llvm-configKhem Raj
llvm-config is a tool on similar veins as pkg-config but provides a lot more information and packages which use llvm e.g. mesa use this tool to poke for llvm related informaiton e.g. version, libpath, includepaths to name a few, this has few challanges in cross build environments where llvm-config is supposed to be build for buildhost but provide information about target llvm which is addressed by building native llvm-config along with target llvm build, but this is frowned upon by OE build system since it detects that host paths are being used so we have to build it as part of llvm-native but then it means install paths for llvm and llvm-native are different and wrong paths get reported when llvm-config is used. This is solved by providing YOCTO_ALTERNATE_EXE_PATH variable to let llvm-config use that path instead of self-relative path to report back Second problem is when building multi-lib packages base_libdir is different for target packages but native llvm-config does not know about it so it reports non-multilibbed paths as libdir and packages can not find llvm in sysroot. This is fixed by adding another environment variable YOCTO_ALTERNATE_MULTILIB_NAME which can be set from recipes to set proper multilib path (From OE-Core rev: 865eb1c1400e60d09c8f413504123fdfc116a71b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20llvm: Point llvm-config to one built with llvm-nativeKhem Raj
If not defined, llvm build system tries to build one which then confuses the OE QA system since its building native tool and target packages in same package build moreover it is not required since we already have it via llvm-native Fixes ERROR: llvm-6.0-r0 do_package_qa: QA Issue: llvm: The compile log indicates that host include and/or library paths were used. (From OE-Core rev: 7153a17166d9a94fd0ddc36d597a0140979d58ff) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16llvm: Update to 6.0.1Khem Raj
Drop upstreamed patch (From OE-Core rev: b0783b713e0ad766797d20e0d1f3187effb08a71) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04llvm: Fix [compile-host-path] QA issueKhem Raj
Its trying to build NATIVE llvm-config which is already built with llvm-native so we do not need to rebuild it Drop setting NINJA_STATUS explicitly, its no longer needed, on the contrary it hinders the task status update (From OE-Core rev: f8393b2b4bc5fbd972be00cb17d0c574ae8deff9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05llvm: Upgrade to 6.0 releaseKhem Raj
(From OE-Core rev: 67379117375bcc143f636ccd56e548332b19325f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-30oe-core: take UPSTREAM_CHECK_COMMITS into use where possibleAlexander Kanavin
This greatly reduces the amount of recipes for which upstream version check fails: from about 30 to about 8. (From OE-Core rev: bb9066670a6096aa4134bebc84132b4eb3964b6d) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-05llvm: Use the SRCREV past final 5.0 releaseKhem Raj
(From OE-Core rev: affd13de57473ed2e4646b95ef0a58a3951cfe9a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-26meta: drop True option to getVar callsMing Liu
Search made with the following regex: getVar ?\((.*), True\). (From OE-Core rev: dbc0eaf478feb3f752ae22fd184984494fc85d0a) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17llvm: Swith to ARM ISA on armv5 and armv4tKhem Raj
When Thumb1 is used as default ISA, there are linker issues, therefore always use ARM ISA Fixes relocation truncated to fit: R_ARM_THM_CALL against symbol `__gnu_thumb1_case_uhi' defined in .text section (From OE-Core rev: a0c9d19b46ccefbb90eea5965e11ea21d13242b4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16selftest: fix distrodata.py to use per-recipe UPSTREAM_VERSION_UNKNOWN settingAlexander Kanavin
... instead of a global exception list which was problematic. [YOCTO #11896] (From OE-Core rev: 89dfede4ca795ba085f1ee7290c6dede573c11db) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13llvm: Keep llvm-native dependency with clang toolchainKhem Raj
This was needed when we were conflicting with clang-native but this is solved via append PN to binaries of llvm-native (From OE-Core rev: 82ea78bd2f03b6ba4d720595d3a3fbd96e0232f9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09llvm: Raise SkipRecipe exception for unsupported architecturesNathan Rossi
When parsing this recipe on an unsupported or non-mappable architecture an error is generated despite no dependencies on the recipe. E.g. ERROR: .../llvm_git.bb: cannot map 'microblazeel' to a supported llvm architecture Instead of generating an error which might confuse users, raise a SkipRecipe exception similar to other arch-style mapping functions (e.g. go_map_arch). This avoids showing the error during parse, and prevents the use of the recipe on unsupported targets. Resulting in an error like so when trying to build llvm: ERROR: Nothing PROVIDES 'llvm' llvm was skipped: Cannot map 'microblazeel' to a supported LLVM architecture (From OE-Core rev: d796abac982f368aa088a291560b565cc47a2c27) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09mesa, llvm: Use native version of llvm-configKhem Raj
We have a variable YOCTO_ALTERNATE_EXE_PATH to point to target sysroot, utilize this in mesa to use native version of llvm-config to report values from target sysroot. (From OE-Core rev: 1c4444f7b2f5cbcaaf6f9d21d7b4f86555ed746a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-31llvm: Add recipe for 5.0Khem Raj
Based on recipe from meta-oe and clang recipe from meta-clang Needed by mesa Fixes [YOCTO #11529] (From OE-Core rev: 8724ef9c53e7804ead9ba0f019369b0e4daada63) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>