summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/compiler-rt_git.bb
diff options
context:
space:
mode:
authorDaniel McGregor <daniel.mcgregor@vecima.com>2019-02-14 18:42:49 -0600
committerKhem Raj <raj.khem@gmail.com>2020-01-20 08:56:16 -0800
commit269634b393554a5502e47cc0cf9a3f63a5856d45 (patch)
treeaeacca0fcd9352195872459e7b7a5621fd1c0269 /recipes-devtools/clang/compiler-rt_git.bb
parentcda1376a97b86d6ae5c92fd931f9583430c73885 (diff)
downloadmeta-clang-269634b393554a5502e47cc0cf9a3f63a5856d45.tar.gz
clang: stay closer to cmake.bbclass
Allow more of the cmake variables coming from the OE environment through, otherwise the release C flags and CXX flags get reset to LLVM's default, which greatly extend build times. Also switch to using cmake.bbclass's do_compile and do_install commands. There's no need to call ninja directly anymore. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Diffstat (limited to 'recipes-devtools/clang/compiler-rt_git.bb')
-rw-r--r--recipes-devtools/clang/compiler-rt_git.bb39
1 files changed, 9 insertions, 30 deletions
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb
index 09b82cd..6543cda 100644
--- a/recipes-devtools/clang/compiler-rt_git.bb
+++ b/recipes-devtools/clang/compiler-rt_git.bb
@@ -24,6 +24,10 @@ DEPENDS_append_class-nativesdk = " clang-native"
24 24
25HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" 25HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}"
26HF[vardepvalue] = "${HF}" 26HF[vardepvalue] = "${HF}"
27
28OECMAKE_TARGET_COMPILE = "compiler-rt"
29OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers"
30OECMAKE_SOURCEPATH = "${S}/llvm"
27EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \ 31EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \
28 -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=${HOST_ARCH}${HF}${HOST_VENDOR}-${HOST_OS} \ 32 -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=${HOST_ARCH}${HF}${HOST_VENDOR}-${HOST_OS} \
29 -DCOMPILER_RT_BUILD_XRAY=OFF \ 33 -DCOMPILER_RT_BUILD_XRAY=OFF \
@@ -32,7 +36,6 @@ EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \
32 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 36 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
33 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 37 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
34 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ 38 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
35 -G Ninja ${S}/llvm \
36" 39"
37 40
38EXTRA_OECMAKE_append_class-nativesdk = "\ 41EXTRA_OECMAKE_append_class-nativesdk = "\
@@ -45,36 +48,12 @@ CXXFLAGS_append_libc-musl = " -D_LIBCPP_HAS_MUSL_LIBC=ON "
45EXTRA_OECMAKE_append_mipsarch = " -DCOMPILER_RT_BUILD_SANITIZERS=OFF " 48EXTRA_OECMAKE_append_mipsarch = " -DCOMPILER_RT_BUILD_SANITIZERS=OFF "
46EXTRA_OECMAKE_append_powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " 49EXTRA_OECMAKE_append_powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc "
47 50
48do_compile() {
49 ninja ${PARALLEL_MAKE} compiler-rt
50}
51
52do_install() {
53 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-compiler-rt
54
55 if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then
56 mkdir -p ${D}${nonarch_libdir}
57 mv ${D}${libdir}/clang ${D}${nonarch_libdir}/clang
58 rmdir --ignore-fail-on-non-empty ${D}${libdir}
59 fi
60}
61
62
63do_install_append () { 51do_install_append () {
64 if [ -d ${D}${exec_prefix}/lib/linux ]; then 52 if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then
65 for f in `find ${D}${exec_prefix}/lib/linux -maxdepth 1 -type f` 53 mkdir -p ${D}${nonarch_libdir}
66 do 54 mv ${D}${libdir}/clang ${D}${nonarch_libdir}/clang
67 install -D -m 0644 $f ${D}${exec_prefix}/lib/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/`basename $f` 55 rmdir --ignore-fail-on-non-empty ${D}${libdir}
68 rm $f 56 fi
69 done
70 rmdir ${D}${exec_prefix}/lib/linux
71 fi
72 for f in `find ${D}${exec_prefix} -maxdepth 1 -name '*.txt' -type f`
73 do
74 install -D -m 0644 $f ${D}${exec_prefix}/lib/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/`basename $f`
75 rm $f
76 done
77 rm -rf ${D}${exec_prefix}/lib/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/clang_rt.crt*.o
78} 57}
79 58
80FILES_SOLIBSDEV = "" 59FILES_SOLIBSDEV = ""