blob: fec78fbabace4a3f29bb6352d665b8d7a9472e10 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001FILESEXTRAPATHS =. "${FILE_DIRNAME}/clang:"
2
3LIC_FILES_CHKSUM = "file://llvm/LICENSE.TXT;md5=${LLVMMD5SUM} \
4 file://clang/LICENSE.TXT;md5=${CLANGMD5SUM} \
5"
6LICENSE = "NCSA"
7
8BASEURI ??= "${LLVM_GIT}/llvm-project;protocol=${LLVM_GIT_PROTOCOL};branch=${BRANCH}"
9SRC_URI = "\
10 ${BASEURI} \
11 ${@'file://0001-clang-Enable-SSP-and-PIE-by-default.patch' if '${GCCPIE}' else ''} \
12 file://0002-clang-driver-Use-lib-for-ldso-on-OE.patch \
13 file://0003-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \
14 file://0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch \
15 file://0005-clang-Prepend-trailing-to-sysroot.patch \
16 file://0006-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \
17 file://0007-clang-Define-releative-gcc-installation-dir.patch \
18 file://0008-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch \
19 file://0009-clang-scan-view-needs-python-2.x.patch \
20 file://0010-clang-Append-libunwind-to-compiler-rt-for-linking.patch \
21 file://0011-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
22 file://0012-llvm-allow-env-override-of-exe-path.patch \
23 file://0013-llvm-AARCH64-Add-support-for-.dword-directives.patch \
24 file://0014-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch \
25 file://0015-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \
26 file://0016-compiler-rt-support-a-new-embedded-linux-target.patch \
27 file://0017-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \
28 file://0018-compiler-rt-Disable-tsan-on-OE-glibc.patch \
29 file://0019-llvm-Enhance-path-prefix-mapping.patch \
30 file://0020-clang-Initial-implementation-of-fmacro-prefix-map-an.patch \
31"
32
33# Fallback to no-PIE if not set
34GCCPIE ??= ""
35
36S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/git"
37B = "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
38
39# We need to ensure that for the shared work directory, the do_patch signatures match
40# The real WORKDIR location isn't a dependency for the shared workdir.
41src_patches[vardepsexclude] = "WORKDIR"
42should_apply[vardepsexclude] += "PN"