summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
AgeCommit message (Collapse)Author
2022-07-23llvm: update 14.0.4 -> 14.0.6Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-25llvm: add PACKAGECONFIG[optviewer]Luca Ceresoli
Currently the CMake configuration for llvm finds the python pygments and pyyaml if they are installed on the host. This makes builds non-reproducible across different machines, some having those modules installed and some others not. This has been causing a 'reproducible' failure on one of the autobuilders: AssertionError: The following deb packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/llvm-dev_14.0.4-r0_amd64.deb The following ipk packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/llvm-dev_14.0.4-r0_core2-64.ipk The following rpm packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/llvm-dev-14.0.4-r0.core2_64.rpm Fix by adding an explicit PACKAGECONFIG to control the LLVM_HAVE_OPT_VIEWER_MODULES option in CMake. If unset, it forces CMake to ignore pygments and pyyaml, no matter it they are available on the host. If set, it DEPENDS on the pygments and pyyaml modules so that CMake will find and use them. Based on suggestions from Stefan and Markus -- thanks. Proposed-by: "Stefan Herbrechtsmeier" <stefan.herbrechtsmeier-oss@weidmueller.com> Proposed-by: "Markus Volk" <f_l_k@t-online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
2022-06-07llvm: update 14.0.3 -> 14.0.4Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-05llvm: update 14.0.1 -> 14.0.3Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-28llvm: update 14.0.0 -> 14.0.1Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19llvm: use default install pathsAlexander Kanavin
There was a very brittle sed hack against cpp source code that allowed installing multiple llvm versions into the same target/sysroot. Patching with sed is prone to silent regressions as it can change both too little and too much, and it indeed it broke with llvm 14. It's also difficult to tell what the 'right' change should look like. If this feature is actually needed somewhere, please do it properly: proper patch and upstream first. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19llvm: update 13.0.1 -> 14.0.0Alexander Kanavin
llvm-config no longer links with libLLVM, so there is no need to install it in -native (and it isn't built in the first place). This also significantly speeds up llvm-native build. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-08llvm: update 12.0.1 -> 13.0.1Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03recipes: Update github.com urls to use httpsRichard Purdie
Github has announced there will be no more git:// fetching from their servers: https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git and they're about to start having brownout periods to encourage people to update. This runs the conversion script over OE-Core to update our urls to use https instead of git. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-24llvm: update 12.0.0 -> 12.0.1Alexander Kanavin
Other than the tcmode tweak, this was done by devtool \0/ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-16llvm: make upgradable via devtoolAlexander Kanavin
Assembling PV from bits is too clever for devtool; but it can be done in the opposite direction. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23llvm: Upgrade to LLVM 12 releaseKhem Raj
Drop backported patch Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01llvm: Fix build with c++17Khem Raj
Fixes /benchmark_register.h:17:30: error: 'numeric_limits' is not a member of 'std' | static const T kmax = std::numeric_limits<T>::max(); | ^~~~~~~~~~~~~~ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26llvm: Upgrade to 11.1.0 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09llvm: sort the lists in generated source reproducibiblyAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09llvm: fix reproducibilityAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-28llvm: upgrade 9.0.1 -> 10.0.1Trevor Gamblin
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-14llvm: Remove -fcommonAdrian Bunk
I cannot reproduce the problem. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30recipes: Use -fcommon explicitlyKhem Raj
This is needed with gcc 10 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30llvm: Upgrade to 9.0.1 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30llvm: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09llvm: rv32/rv64 target builds are not supported yetKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23llvm: add missing Upstream-Status tagsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-10-15llvm: Update to 9.0.0Khem Raj
libOptRemarks has been renamed as libRemarks RISC-V backend is now supported Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08llvm: remove -mlongcall from CXXFLAGS for powerpcChangqing Li
after gcc upgrade to 9.1.0, with this flags will make below error: collect2: fatal error: ld terminated with signal 11 [Segmentation fault] remove it as workaround, after remove it, powerpc can compile successfully Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30llvm: use python 3 during buildsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07mesa,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 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': Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: 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. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: 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+. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: 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). 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. 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 Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24llvm: 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. 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 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-03llvm,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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14meta: 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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21llvm: Enable AMDGPU backend for native/native-sdk builds tooKhem Raj
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 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 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. 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 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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-04-05llvm: Upgrade to 6.0 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-29oe-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. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-05llvm: Use the SRCREV past final 5.0 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25meta: drop True option to getVar callsMing Liu
Search made with the following regex: getVar ?\((.*), True\). Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16llvm: 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 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] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>