libclc_16.0.5.bb 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. DESCRIPTION = "LLVM based OpenCL runtime support library"
  2. HOMEPAGE = "http://libclc.llvm.org/"
  3. SECTION = "libs"
  4. require clang.inc
  5. require common-source.inc
  6. TOOLCHAIN = "clang"
  7. LIC_FILES_CHKSUM = "file://libclc/LICENSE.TXT;md5=7cc795f6cbb2d801d84336b83c8017db"
  8. inherit cmake pkgconfig python3native qemu
  9. DEPENDS += "qemu-native clang spirv-tools spirv-llvm-translator spirv-llvm-translator-native ncurses"
  10. OECMAKE_SOURCEPATH = "${S}/libclc"
  11. EXTRA_OECMAKE += " \
  12. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  13. -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
  14. -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
  15. -DLLVM_CLANG=${STAGING_BINDIR_NATIVE}/clang \
  16. -DLLVM_AS=${STAGING_BINDIR_NATIVE}/llvm-as \
  17. -DLLVM_LINK=${STAGING_BINDIR_NATIVE}/llvm-link \
  18. -DLLVM_OPT=${STAGING_BINDIR_NATIVE}/opt \
  19. -DLLVM_SPIRV=${STAGING_BINDIR_NATIVE}/llvm-spirv \
  20. -Dclc_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeCLCCompiler.cmake.in \
  21. -Dll_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeLLAsmCompiler.cmake.in \
  22. -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  23. "
  24. do_configure:prepend () {
  25. # Write out a qemu wrapper that will be used by cmake
  26. # so that it can run target helper binaries through that.
  27. qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
  28. cat > ${WORKDIR}/qemuwrapper << EOF
  29. #!/bin/sh
  30. $qemu_binary "\$@"
  31. EOF
  32. chmod +x ${WORKDIR}/qemuwrapper
  33. }
  34. FILES:${PN} += "${datadir}/clc"
  35. BBCLASSEXTEND = "native nativesdk"
  36. export YOCTO_ALTERNATE_EXE_PATH
  37. export YOCTO_ALTERNATE_LIBDIR