diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-11-13 22:59:11 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-11-14 07:18:21 -0800 |
commit | 003dd05e4c168f7c3cccb9cbfad3fd8f38fe8741 (patch) | |
tree | 6eb597b2d29e7c924c07f36124a85e13908c2d17 /recipes-devtools/clang | |
parent | df21a7d3f29cb49783ff93a9f5ba947832a09e25 (diff) | |
download | meta-clang-003dd05e4c168f7c3cccb9cbfad3fd8f38fe8741.tar.gz |
clang: Provide llvm/llvm-native
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>
Diffstat (limited to 'recipes-devtools/clang')
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 73becc3..63592dd 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -54,8 +54,8 @@ PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \ | |||
54 | ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)} \ | 54 | ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)} \ |
55 | rtti eh \ | 55 | rtti eh \ |
56 | " | 56 | " |
57 | PACKAGECONFIG_class-native = "" | 57 | PACKAGECONFIG_class-native = "rtti eh" |
58 | PACKAGECONFIG_class-nativesdk = "thin-lto" | 58 | PACKAGECONFIG_class-nativesdk = "rtti eh thin-lto" |
59 | 59 | ||
60 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" | 60 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" |
61 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 61 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" |
@@ -88,8 +88,8 @@ PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDIT | |||
88 | LLVM_TARGETS_TO_BUILD ?= "AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" | 88 | LLVM_TARGETS_TO_BUILD ?= "AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" |
89 | LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" | 89 | LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" |
90 | 90 | ||
91 | LLVM_TARGETS_TO_BUILD_TARGET ?= "" | 91 | LLVM_TARGETS_TO_BUILD_TARGET ?= "AMDGPU;${LLVM_TARGETS_TO_BUILD}" |
92 | LLVM_TARGETS_TO_BUILD_TARGET_append ?= "${@get_clang_target_arch(bb, d)}" | 92 | LLVM_TARGETS_TO_BUILD_TARGET_append ?= ";${@get_clang_target_arch(bb, d)}" |
93 | 93 | ||
94 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" | 94 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" |
95 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" | 95 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" |
@@ -177,6 +177,9 @@ do_install_append_class-native () { | |||
177 | test -n "`file $f|grep -i ELF`" && ${STRIP} $f | 177 | test -n "`file $f|grep -i ELF`" && ${STRIP} $f |
178 | echo "stripped $f" | 178 | echo "stripped $f" |
179 | done | 179 | done |
180 | ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV} | ||
181 | ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} | ||
182 | ln -sf llvm-config ${D}${bindir}/llvm-config${PV} | ||
180 | } | 183 | } |
181 | 184 | ||
182 | do_install_append_class-nativesdk () { | 185 | do_install_append_class-nativesdk () { |
@@ -185,6 +188,9 @@ do_install_append_class-nativesdk () { | |||
185 | for f in `find ${D}${bindir} -executable -type f -not -type l`; do | 188 | for f in `find ${D}${bindir} -executable -type f -not -type l`; do |
186 | test -n "`file $f|grep -i ELF`" && ${STRIP} $f | 189 | test -n "`file $f|grep -i ELF`" && ${STRIP} $f |
187 | done | 190 | done |
191 | ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV} | ||
192 | ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} | ||
193 | ln -sf llvm-config ${D}${bindir}/llvm-config${PV} | ||
188 | rm -rf ${D}${datadir}/llvm/cmake | 194 | rm -rf ${D}${datadir}/llvm/cmake |
189 | rm -rf ${D}${datadir}/llvm | 195 | rm -rf ${D}${datadir}/llvm |
190 | } | 196 | } |
@@ -193,6 +199,9 @@ PACKAGE_DEBUG_SPLIT_STYLE_class-nativesdk = "debug-without-src" | |||
193 | 199 | ||
194 | PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python libclang" | 200 | PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python libclang" |
195 | 201 | ||
202 | PROVIDES += "llvm llvm${PV}" | ||
203 | PROVIDES_append_class-native = " llvm-native" | ||
204 | |||
196 | BBCLASSEXTEND = "native nativesdk" | 205 | BBCLASSEXTEND = "native nativesdk" |
197 | 206 | ||
198 | FILES_${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*" | 207 | FILES_${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*" |