diff options
author | Daniel McGregor <daniel.mcgregor@vecima.com> | 2019-02-14 18:42:49 -0600 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-01-20 08:56:16 -0800 |
commit | 269634b393554a5502e47cc0cf9a3f63a5856d45 (patch) | |
tree | aeacca0fcd9352195872459e7b7a5621fd1c0269 /recipes-devtools/clang/compiler-rt_git.bb | |
parent | cda1376a97b86d6ae5c92fd931f9583430c73885 (diff) | |
download | meta-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.bb | 39 |
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 | ||
25 | HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" | 25 | HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" |
26 | HF[vardepvalue] = "${HF}" | 26 | HF[vardepvalue] = "${HF}" |
27 | |||
28 | OECMAKE_TARGET_COMPILE = "compiler-rt" | ||
29 | OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" | ||
30 | OECMAKE_SOURCEPATH = "${S}/llvm" | ||
27 | EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \ | 31 | EXTRA_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 | ||
38 | EXTRA_OECMAKE_append_class-nativesdk = "\ | 41 | EXTRA_OECMAKE_append_class-nativesdk = "\ |
@@ -45,36 +48,12 @@ CXXFLAGS_append_libc-musl = " -D_LIBCPP_HAS_MUSL_LIBC=ON " | |||
45 | EXTRA_OECMAKE_append_mipsarch = " -DCOMPILER_RT_BUILD_SANITIZERS=OFF " | 48 | EXTRA_OECMAKE_append_mipsarch = " -DCOMPILER_RT_BUILD_SANITIZERS=OFF " |
46 | EXTRA_OECMAKE_append_powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " | 49 | EXTRA_OECMAKE_append_powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " |
47 | 50 | ||
48 | do_compile() { | ||
49 | ninja ${PARALLEL_MAKE} compiler-rt | ||
50 | } | ||
51 | |||
52 | do_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 | |||
63 | do_install_append () { | 51 | do_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 | ||
80 | FILES_SOLIBSDEV = "" | 59 | FILES_SOLIBSDEV = "" |