diff options
| author | Zoltán Böszörményi <zboszor@pr.hu> | 2021-02-12 09:19:47 -0500 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2021-02-13 12:19:26 -0800 |
| commit | 43fe6734bc32f3e3246df72303fa08a38016dd28 (patch) | |
| tree | a5d421cc1b3072e88468979621051b9df87d812c | |
| parent | 5417c9b91dce2afc5bdc94b37cd29ad120ab508a (diff) | |
| download | meta-clang-43fe6734bc32f3e3246df72303fa08a38016dd28.tar.gz | |
libclc: Add recipe
This is a pre-requisite to enable OpenCL in Mesa.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
| -rw-r--r-- | recipes-devtools/clang/libclc_git.bb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/recipes-devtools/clang/libclc_git.bb b/recipes-devtools/clang/libclc_git.bb new file mode 100644 index 0000000..aeedcf8 --- /dev/null +++ b/recipes-devtools/clang/libclc_git.bb | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | DESCRIPTION = "LLVM based OpenCL runtime support library" | ||
| 2 | HOMEPAGE = "http://libclc.llvm.org/" | ||
| 3 | SECTION = "libs" | ||
| 4 | |||
| 5 | require clang.inc | ||
| 6 | require common-source.inc | ||
| 7 | |||
| 8 | TOOLCHAIN = "clang" | ||
| 9 | |||
| 10 | LIC_FILES_CHKSUM = "file://libclc/LICENSE.TXT;md5=7cc795f6cbb2d801d84336b83c8017db" | ||
| 11 | |||
| 12 | inherit cmake pkgconfig python3native qemu | ||
| 13 | |||
| 14 | DEPENDS_append = " qemu-native clang" | ||
| 15 | |||
| 16 | OECMAKE_SOURCEPATH = "${S}/libclc" | ||
| 17 | |||
| 18 | EXTRA_OECMAKE += " \ | ||
| 19 | -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ | ||
| 20 | -DCMAKE_CXX_FLAGS=-std=c++17 \ | ||
| 21 | -DCMAKE_SHARED_LINKER_FLAGS=-std=c++17 \ | ||
| 22 | -DCMAKE_EXE_LINKER_FLAGS=-std=c++17 \ | ||
| 23 | -Dclc_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeCLCCompiler.cmake.in \ | ||
| 24 | -Dll_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeLLAsmCompiler.cmake.in \ | ||
| 25 | " | ||
| 26 | |||
| 27 | do_configure_prepend () { | ||
| 28 | # Write out a qemu wrapper that will be used by cmake | ||
| 29 | # so that it can run target helper binaries through that. | ||
| 30 | qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" | ||
| 31 | cat > ${WORKDIR}/qemuwrapper << EOF | ||
| 32 | #!/bin/sh | ||
| 33 | $qemu_binary "\$@" | ||
| 34 | EOF | ||
| 35 | chmod +x ${WORKDIR}/qemuwrapper | ||
| 36 | } | ||
| 37 | |||
| 38 | FILES_${PN} += "${datadir}/clc" | ||
