summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb17
1 files changed, 11 insertions, 6 deletions
diff --git a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
index bb3c8aa20a..f8e7bb13d2 100644
--- a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
@@ -14,6 +14,14 @@ BPN = "compiler-rt-sanitizers"
14 14
15inherit cmake pkgconfig python3native 15inherit cmake pkgconfig python3native
16 16
17def get_compiler_rt_arch(bb, d):
18 if bb.utils.contains('TUNE_FEATURES', 'armv5 thumb dsp', True, False, d):
19 return 'armv5te'
20 elif bb.utils.contains('TUNE_FEATURES', 'armv4 thumb', True, False, d):
21 return 'armv4t'
22 elif bb.utils.contains('TUNE_FEATURES', 'arm vfp callconvention-hard', True, False, d):
23 return 'armhf'
24 return d.getVar('HOST_ARCH')
17 25
18LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" 26LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a"
19 27
@@ -56,6 +64,7 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
56 -DCOMPILER_RT_BUILD_LIBFUZZER=ON \ 64 -DCOMPILER_RT_BUILD_LIBFUZZER=ON \
57 -DCOMPILER_RT_BUILD_PROFILE=ON \ 65 -DCOMPILER_RT_BUILD_PROFILE=ON \
58 -DCOMPILER_RT_BUILD_MEMPROF=ON \ 66 -DCOMPILER_RT_BUILD_MEMPROF=ON \
67 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${@get_compiler_rt_arch(bb, d)} \
59 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ 68 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \
60 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ 69 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
61 -DLLVM_APPEND_VC_REV=OFF \ 70 -DLLVM_APPEND_VC_REV=OFF \
@@ -64,16 +73,13 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
64 73
65EXTRA_OECMAKE:append:class-native = "\ 74EXTRA_OECMAKE:append:class-native = "\
66 -DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \ 75 -DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \
67 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \
68 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
69 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${HOST_ARCH} \
70" 76"
71 77
72EXTRA_OECMAKE:append:class-target = "\ 78EXTRA_OECMAKE:append:class-target = "\
73 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 79 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
74 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 80 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
75 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 81 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
76 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \ 82 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
77 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ 83 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
78 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ 84 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
79" 85"
@@ -84,12 +90,11 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
84 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 90 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
85 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 91 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
86 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 92 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
87 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \ 93 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
88 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ 94 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
89" 95"
90 96
91EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " 97EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON "
92EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc "
93 98
94do_install:append () { 99do_install:append () {
95 mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib 100 mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib