summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/llvm')
-rw-r--r--meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch47
1 files changed, 40 insertions, 7 deletions
diff --git a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
index 21d2f81b58..6a9283323c 100644
--- a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
+++ b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
@@ -1,4 +1,4 @@
1From 2f8ea767afdaa440c6368040630e1b3ea6a0977a Mon Sep 17 00:00:00 2001 1From aeccf16eaccdd80e4d5ecaa51673ce4b2bac1130 Mon Sep 17 00:00:00 2001
2From: Martin Kelly <mkelly@xevo.com> 2From: Martin Kelly <mkelly@xevo.com>
3Date: Fri, 19 May 2017 00:22:57 -0700 3Date: Fri, 19 May 2017 00:22:57 -0700
4Subject: [PATCH 2/2] llvm: allow env override of exe path 4Subject: [PATCH 2/2] llvm: allow env override of exe path
@@ -8,16 +8,19 @@ return the libraries, include directories, etc. from inside the sysroot rather
8than from the native sysroot. Thus provide an env override for calling 8than from the native sysroot. Thus provide an env override for calling
9llvm-config from a target sysroot. 9llvm-config from a target sysroot.
10 10
11To let it work in multilib environment, we need to provide a knob to supply
12multilib dirname as well
13
14Upstream-Status: Inappropriate [OE-Specific]
15
11Signed-off-by: Martin Kelly <mkelly@xevo.com> 16Signed-off-by: Martin Kelly <mkelly@xevo.com>
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 17Signed-off-by: Khem Raj <raj.khem@gmail.com>
13--- 18---
14Upstream-Status: Pending 19 tools/llvm-config/llvm-config.cpp | 17 ++++++++++++++++-
15 20 1 file changed, 16 insertions(+), 1 deletion(-)
16 tools/llvm-config/llvm-config.cpp | 7 +++++++
17 1 file changed, 7 insertions(+)
18 21
19diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp 22diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
20index 08b096afb05..d8d7742744e 100644 23index 08b096afb05..360cc5abf4e 100644
21--- a/tools/llvm-config/llvm-config.cpp 24--- a/tools/llvm-config/llvm-config.cpp
22+++ b/tools/llvm-config/llvm-config.cpp 25+++ b/tools/llvm-config/llvm-config.cpp
23@@ -225,6 +225,13 @@ Typical components:\n\ 26@@ -225,6 +225,13 @@ Typical components:\n\
@@ -34,6 +37,36 @@ index 08b096afb05..d8d7742744e 100644
34 // This just needs to be some symbol in the binary; C++ doesn't 37 // This just needs to be some symbol in the binary; C++ doesn't
35 // allow taking the address of ::main however. 38 // allow taking the address of ::main however.
36 void *P = (void *)(intptr_t)GetExecutablePath; 39 void *P = (void *)(intptr_t)GetExecutablePath;
40@@ -306,12 +313,20 @@ int main(int argc, char **argv) {
41 std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
42 ActiveCMakeDir;
43 std::string ActiveIncludeOption;
44+ // Hack for Yocto: we need to override the multilib path when we are using
45+ // llvm-config from within a target sysroot.
46+ std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
47+ if (Multilibdir.empty()) {
48+ Multilibdir = "/lib" LLVM_LIBDIR_SUFFIX;
49+ }
50+
51 if (IsInDevelopmentTree) {
52 ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
53 ActivePrefix = CurrentExecPrefix;
54
55 // CMake organizes the products differently than a normal prefix style
56 // layout.
57+
58 switch (DevelopmentTreeLayout) {
59 case CMakeStyle:
60 ActiveBinDir = ActiveObjRoot + "/bin";
61@@ -336,7 +351,7 @@ int main(int argc, char **argv) {
62 SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
63 sys::fs::make_absolute(ActivePrefix, path);
64 ActiveBinDir = path.str();
65- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
66+ ActiveLibDir = ActivePrefix + Multilibdir;
67 ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
68 ActiveIncludeOption = "-I" + ActiveIncludeDir;
69 }
37-- 70--
382.16.1 712.18.0
39 72