common.inc 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. FILESEXTRAPATHS =. "${FILE_DIRNAME}/clang:"
  2. LIC_FILES_CHKSUM = "file://llvm/LICENSE.TXT;md5=${LLVMMD5SUM} \
  3. file://clang/LICENSE.TXT;md5=${CLANGMD5SUM} \
  4. "
  5. LICENSE = "Apache-2.0-with-LLVM-exception"
  6. # Snapshot
  7. #RELEASE ?= "a69568efe6c4972e71af295c6577b3412dd57c22"
  8. #BASEURI ?= "https://api.github.com/repos/llvm/llvm-project/tarball/${RELEASE};downloadfilename=llvm-${PV}-${RELEASE}.tar.gz"
  9. #SOURCEDIR ?= "llvm-llvm-project-${@'${RELEASE}'[0:7]}"
  10. #SRC_URI[sha256sum] = "aed4f66cd72867b36cc55a0588436933c3d58d3e61ca782b6bf57605d3fdcb09"
  11. # GA Release
  12. RELEASE ?= "${PV}"
  13. BASEURI ?= "${LLVM_HTTP}/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz"
  14. UPSTREAM_CHECK_URI = "${LLVM_HTTP}/llvm-project/releases/"
  15. UPSTREAM_CHECK_REGEX = "releases/tag/llvmorg-?(?P<pver>\d+(\.\d+)+)"
  16. SOURCEDIR ?= "llvm-project-${PV}.src"
  17. SRC_URI[sha256sum] = "b6183c41281ee3f23da7fda790c6d4f5877aed103d1e759763b1008bdd0e2c50"
  18. SRC_URI = "\
  19. ${BASEURI} \
  20. file://0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \
  21. file://0002-compiler-rt-support-a-new-embedded-linux-target.patch \
  22. file://0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \
  23. file://0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
  24. file://0005-llvm-allow-env-override-of-exe-and-libdir-path.patch \
  25. file://0006-clang-driver-Check-sysroot-for-ldso-path.patch \
  26. file://0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \
  27. file://0008-clang-Prepend-trailing-to-sysroot.patch \
  28. file://0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \
  29. file://0010-clang-Define-releative-gcc-installation-dir.patch \
  30. file://0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \
  31. file://0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \
  32. file://0013-Check-for-atomic-double-intrinsics.patch \
  33. file://0014-cmake-Fix-configure-for-packages-using-find_package.patch \
  34. file://0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch \
  35. file://0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \
  36. file://0017-clang-Use-python3-in-python-scripts.patch \
  37. file://0018-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch \
  38. file://0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \
  39. file://0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \
  40. file://0021-libunwind-Added-unw_backtrace-method.patch \
  41. file://0022-lldb-Link-with-libatomic-on-x86.patch \
  42. file://0023-compiler-rt-Enable-__int128-for-ppc32.patch \
  43. file://0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \
  44. file://0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \
  45. file://0026-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \
  46. file://0027-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \
  47. file://0028-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch \
  48. file://0029-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \
  49. file://0030-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch \
  50. file://0031-compiler-rt-Do-not-pass-target-to-clang-compiler.patch \
  51. file://0032-Fix-build-on-ppc64-musl.patch \
  52. file://0033-clangd-Add-a-build-option-to-disable-building-dexp.patch \
  53. file://0034-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \
  54. file://0035-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch \
  55. file://0036-openmp-Do-not-emit-date-and-time-into-generate-files.patch \
  56. "
  57. # Fallback to no-PIE if not set
  58. GCCPIE ??= ""
  59. S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/${SOURCEDIR}"
  60. B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
  61. # We need to ensure that for the shared work directory, the do_patch signatures match
  62. # The real WORKDIR location isn't a dependency for the shared workdir.
  63. src_patches[vardepsexclude] = "WORKDIR"
  64. should_apply[vardepsexclude] += "PN"
  65. BPN = "clang"