diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-10-09 00:28:42 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-10-09 11:58:54 -0700 |
commit | d87c406c0f54e0e1ad4fb6aa2d0ecba93136139d (patch) | |
tree | 69b56ea8193edd1392779522332d5edc87f09479 /recipes-devtools | |
parent | 33f857903bdf667148ffd1ff2abafcea1ad423d6 (diff) | |
download | meta-clang-d87c406c0f54e0e1ad4fb6aa2d0ecba93136139d.tar.gz |
clang: Merge libunwind back into libcxx
Do not export libunwind to other recipes besides libcxx itself, we use
non-gnu libunwind on linux in general and its not a drop in replacement
as of yet
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools')
-rw-r--r-- | recipes-devtools/clang/libcxx_git.bb | 15 | ||||
-rw-r--r-- | recipes-devtools/clang/llvm-libunwind.bb | 81 |
2 files changed, 13 insertions, 83 deletions
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb index 425ecda..2d530c5 100644 --- a/recipes-devtools/clang/libcxx_git.bb +++ b/recipes-devtools/clang/libcxx_git.bb | |||
@@ -15,7 +15,7 @@ PACKAGECONFIG_riscv32 = "exceptions" | |||
15 | PACKAGECONFIG_riscv64 = "exceptions" | 15 | PACKAGECONFIG_riscv64 = "exceptions" |
16 | PACKAGECONFIG_append_armv5 = " no-atomics" | 16 | PACKAGECONFIG_append_armv5 = " no-atomics" |
17 | 17 | ||
18 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,llvm-libunwind" | 18 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," |
19 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," | 19 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," |
20 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," | 20 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," |
21 | PACKAGECONFIG[compiler-rt] = "-DLIBCXXABI_USE_COMPILER_RT=ON -DLIBCXX_USE_COMPILER_RT=ON,-DLIBCXXABI_USE_COMPILER_RT=OFF -DLIBCXX_USE_COMPILER_RT=OFF,compiler-rt" | 21 | PACKAGECONFIG[compiler-rt] = "-DLIBCXXABI_USE_COMPILER_RT=ON -DLIBCXX_USE_COMPILER_RT=ON,-DLIBCXXABI_USE_COMPILER_RT=OFF -DLIBCXX_USE_COMPILER_RT=OFF,compiler-rt" |
@@ -29,11 +29,16 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
29 | 29 | ||
30 | LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ | 30 | LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ |
31 | file://libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ | 31 | file://libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ |
32 | file://libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ | ||
32 | " | 33 | " |
33 | 34 | ||
34 | EXTRA_OECMAKE += "\ | 35 | EXTRA_OECMAKE += "\ |
35 | -DCMAKE_CROSSCOMPILING=ON \ | 36 | -DCMAKE_CROSSCOMPILING=ON \ |
36 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ | 37 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ |
38 | -DLIBUNWIND_ENABLE_SHARED=OFF \ | ||
39 | -DLIBUNWIND_ENABLE_THREADS=OFF \ | ||
40 | -DLIBUNWIND_WEAK_PTHREAD_LIB=ON \ | ||
41 | -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ | ||
37 | -DLIBCXXABI_INCLUDE_TESTS=OFF \ | 42 | -DLIBCXXABI_INCLUDE_TESTS=OFF \ |
38 | -DLIBCXXABI_ENABLE_SHARED=ON \ | 43 | -DLIBCXXABI_ENABLE_SHARED=ON \ |
39 | -DLIBCXXABI_USE_COMPILER_RT=ON \ | 44 | -DLIBCXXABI_USE_COMPILER_RT=ON \ |
@@ -45,7 +50,7 @@ EXTRA_OECMAKE += "\ | |||
45 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | 50 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ |
46 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | 51 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ |
47 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | 52 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ |
48 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi' \ | 53 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ |
49 | -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | 54 | -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ |
50 | -G Ninja \ | 55 | -G Ninja \ |
51 | ${S}/llvm \ | 56 | ${S}/llvm \ |
@@ -60,11 +65,17 @@ EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " | |||
60 | CXXFLAGS_append_armv5 = " -mfpu=vfp2" | 65 | CXXFLAGS_append_armv5 = " -mfpu=vfp2" |
61 | 66 | ||
62 | do_compile() { | 67 | do_compile() { |
68 | if [ -n "${@bb.utils.filter('PACKAGECONFIG', 'unwind', d)}" ]; then | ||
69 | ninja -v ${PARALLEL_MAKE} unwind | ||
70 | fi | ||
63 | ninja -v ${PARALLEL_MAKE} cxxabi | 71 | ninja -v ${PARALLEL_MAKE} cxxabi |
64 | ninja -v ${PARALLEL_MAKE} cxx | 72 | ninja -v ${PARALLEL_MAKE} cxx |
65 | } | 73 | } |
66 | 74 | ||
67 | do_install() { | 75 | do_install() { |
76 | #DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind | ||
77 | #install -d ${D}${includedir} | ||
78 | #install -m 644 ${S}/libunwind/include/*.h ${D}${includedir} | ||
68 | DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi | 79 | DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi |
69 | } | 80 | } |
70 | 81 | ||
diff --git a/recipes-devtools/clang/llvm-libunwind.bb b/recipes-devtools/clang/llvm-libunwind.bb deleted file mode 100644 index c7be359..0000000 --- a/recipes-devtools/clang/llvm-libunwind.bb +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | # Copyright (C) 2015 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | DESCRIPTION = "C++ runtime stack unwinder from LLVM" | ||
5 | HOMEPAGE = "https://github.com/llvm-mirror/libunwind" | ||
6 | SECTION = "base" | ||
7 | |||
8 | require clang.inc | ||
9 | require common-source.inc | ||
10 | |||
11 | inherit cmake pythonnative | ||
12 | |||
13 | DEPENDS += "ninja-native" | ||
14 | DEPENDS += "ninja-native compiler-rt clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" | ||
15 | LIBCPLUSPLUS = "" | ||
16 | UNWINDLIB = "" | ||
17 | INHIBIT_DEFAULT_DEPS = "1" | ||
18 | |||
19 | COMPATIBLE_HOST_riscv32 = "null" | ||
20 | COMPATIBLE_HOST_riscv64 = "null" | ||
21 | |||
22 | LIC_FILES_CHKSUM = "file://libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ | ||
23 | " | ||
24 | |||
25 | EXTRA_OECMAKE += "\ | ||
26 | -DCMAKE_CROSSCOMPILING=ON \ | ||
27 | -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ | ||
28 | -DLIBUNWIND_ENABLE_SHARED=ON \ | ||
29 | -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ | ||
30 | -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF \ | ||
31 | -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include \ | ||
32 | -DLIBUNWIND_ENABLE_THREADS=OFF \ | ||
33 | -DLIBUNWIND_WEAK_PTHREAD_LIB=ON \ | ||
34 | -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ | ||
35 | -DLLVM_ENABLE_LIBCXX=ON \ | ||
36 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ | ||
37 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/${baselib} \ | ||
38 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | ||
39 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | ||
40 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | ||
41 | -DLLVM_ENABLE_PROJECTS='libunwind' \ | ||
42 | -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | ||
43 | -G Ninja \ | ||
44 | ${S}/llvm \ | ||
45 | " | ||
46 | |||
47 | EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " | ||
48 | EXTRA_OECMAKE_append_riscv64 = " -DCMAKE_SHARED_LINKER_FLAGS='-lgcc_s -latomic' \ | ||
49 | " | ||
50 | |||
51 | EXTRA_OECMAKE_append_arm = " -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'" | ||
52 | |||
53 | EXTRA_OECMAKE_append_riscv32 = " -DCMAKE_SHARED_LINKER_FLAGS='-lgcc_s -latomic' \ | ||
54 | " | ||
55 | EXTRA_OECMAKE_append_powerpc = " -DCMAKE_SHARED_LINKER_FLAGS='-lgcc_s -latomic' \ | ||
56 | " | ||
57 | do_compile() { | ||
58 | ninja -v ${PARALLEL_MAKE} unwind | ||
59 | } | ||
60 | |||
61 | do_install() { | ||
62 | DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind | ||
63 | install -d ${D}${includedir} | ||
64 | install -m 644 ${S}/libunwind/include/*.h ${D}${includedir} | ||
65 | } | ||
66 | |||
67 | ALLOW_EMPTY_${PN} = "1" | ||
68 | |||
69 | RPROVIDES_${PN} += "libunwind" | ||
70 | RPROVIDES_${PN}-dbg += "libunwind-dbg" | ||
71 | RPROVIDES_${PN}-dev += "libunwind-dev" | ||
72 | RPROVIDES_${PN}-doc += "libunwind-doc" | ||
73 | RPROVIDES_${PN}-staticdev += "libunwind-staticdev" | ||
74 | RPROVIDES_${PN}-locale += "libunwind-locale" | ||
75 | RPROVIDES_${PN}-src += "libunwind-src" | ||
76 | |||
77 | PACKAGES_DYNAMIC += "^libunwind-locale-.*" | ||
78 | |||
79 | BBCLASSEXTEND = "native nativesdk" | ||
80 | TOOLCHAIN = "clang" | ||
81 | |||